Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with Code 39 decoding #28

Open
jasonwiener opened this issue Dec 23, 2014 · 8 comments
Open

Problem with Code 39 decoding #28

jasonwiener opened this issue Dec 23, 2014 · 8 comments

Comments

@jasonwiener
Copy link

Hi. I'm having problems with decoding Code 39 barcodes if they're not absolutely pristine.

Though, they'll successfully decode using the online test tool at http://zxing.org/w/decode.jspx

Here's the only one I've been able to successfully get the lib to do:
https://decalrestore.files.wordpress.com/2013/01/1996-07-bar-code-decal1.png

Here are some that fail (but work on zxing).
http://images.gtcarlot.com/pictures/57758092.jpg
http://www.e90post.com/forums/e90garageimg/563/BMW%20VIN%20small.JPG

@eagunn
Copy link

eagunn commented Mar 9, 2015

Jason,
Did you ever resolve this issue? Or choose another library that handled VIN pictures better? I ask because I need to integrate barcode scanning for VINs into a website and I think I will have the same issue. I can decode a vin picture on the zxing site that I can't decode with the job demo webiste.
ag

@jasonwiener
Copy link
Author

Hi. No. Never resolved it. Decided to use the HP Idol service as a server side stopgap solution. 

On Mon, Mar 9, 2015 at 1:12 PM -0700, "Anne Gunn" notifications@github.com wrote:

Jason,

Did you ever resolve this issue? Or choose another library that handled VIN pictures better? I ask because I need to integrate barcode scanning for VINs into a website and I think I will have the same issue. I can decode a vin picture on the zxing site that I can't decode with the job demo webiste.

ag


Reply to this email directly or view it on GitHub.

@eagunn
Copy link

eagunn commented Mar 9, 2015

Jason, Thanks for getting back to me. I may start, then, with this library:
https://serratus.github.io/quaggaJS/ which looks nice but only just added
support for Code 39 barcodes.

Eddie, Jason,

If I get quaggajs working, I'll report back on my results.

ag

On Mon, Mar 9, 2015 at 2:15 PM, Jason Wiener notifications@github.com
wrote:

Hi. No. Never resolved it. Decided to use the HP Idol service as a server
side stopgap solution.

On Mon, Mar 9, 2015 at 1:12 PM -0700, "Anne Gunn" <
notifications@github.com> wrote:

Jason,

Did you ever resolve this issue? Or choose another library that handled
VIN pictures better? I ask because I need to integrate barcode scanning for
VINs into a website and I think I will have the same issue. I can decode a
vin picture on the zxing site that I can't decode with the job demo
webiste.

ag


Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub
#28 (comment).

Anne Gunn, Founder
Sheridan Programmers Guild
307 673 5234

@eagunn
Copy link

eagunn commented Mar 11, 2015

Well, a quick testing of the online demo of quagga did not prove promising. And my coding partner had good luck with a similar test of JOB, so we're going with JOB for VIN barcodes for now. Will report problems if found.

@eagunn
Copy link

eagunn commented Mar 30, 2015

FWIW, our experience is that this implementation is capable of decoding Code 39 barcodes but only if the picture is crystal clear. Which means that, most of the time so far, for most of our devices, the barcode is not getting decoded.
Even the online zebra crossing app (http://zxing.org/w/decode.jspx) can't decode all of the photos we've tried but, definitely, it CAN decode some photos this implementation cannot.
If I get any more intuition on what's going wrong, I'll update.

@eagunn
Copy link

eagunn commented Apr 10, 2015

I haven't determined what's wrong, if anything, with the JOB decoding for VIN (Code 39) barcodes but I have come up with a fallback that we might have to implement if the client finds our JOB-based decoding just doesn't work out in the field.

On Android (I've tested and seen this work from an href tag on my own web page) and iOs (documented), if you have the zebra crossing barcode app installed, a web page can shell out to the app with a 'url' that invokes the barcode. In that url, the web page can specify a return url for the app to come back to with the value of the barcode embedded. Feature is documented here: https://github.com/zxing/zxing/wiki/Scanning-From-Web-Pages

This only took a few minutes to code up and test. Then, for the particular pesky barcode I have in my own vehicle, I found even the zebra crossing app had a hard time decoding it until I turned on the flash. (Bright sunshine and shadow here today.)

Using the app has some cons for us:

  • End user has to install software before the device is ready to use our webpage. It's ubiquitous and easy to install software but it's still a device configuration step we'd rather skip.
  • We want to capture a picture of the VIN, also. So using the xying app splits the VIN collection into two steps: 1) take the picture, 2) use the app to get the vin.

The pro is powerful though:

  • seems to work very well and decode much more consistently than JOB library.

@EddieLa -- I hope you will take this in the spirit it is written. I hope you can continue to develop your library because we would like to continue using it. The in-page, capture picture and value in one click, feature that we've implemented with it is our ideal workflow. We may just have to use the xying app instead or as a fallback till the VIN barcode decoding works better.

@EddieLa
Copy link
Owner

EddieLa commented Apr 11, 2015

@eagunn -- No problem, I'm aware of the issues with decoding code39 but haven't had the time to do anything about it since it would require major changes in the decoding algorithm. As for the current situation I don't know if you've looked into it but I would highly recommend testing https://github.com/serratus/quaggaJS I think support for code39 has been added and it's under very active development.

@seangates
Copy link

I tried using the QuaggaJS and found that the algorithms used were not sensitive enough, and that the JOB/BarcodeReader here was a much better implementation.

My only feedback is that maybe we can clean up BarcodeReader to make it more accessible. I will try and work on some documentation in the README to help folks overcome the issues.

@eagunn Sounds like you were able to solve your problem with the zxing? Would you use JOB/BarcodeReader if it were better at decoding Code39?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants