1. It wont read any curved surface, unless its ALMOST FLAT,i.e. a radius of 1 feat at least...
2. It wont read very long barcodes...
3. it takes a lot of time in focusing, and trying to read the barcode.
Alternatively, I have used Symbol hand held scanner... and it reads any barcode like a charm...
how can we optimize the current library to reea the barcodes very swiftly?
From: Shachar Shemesh
Sent: Sunday, August 17, 2014 3:55 PM
Subject: Re: [zxing] Re: Scanning barcode on a curved surfaces
|
From: Sean Owen
Sent: Sunday, August 17, 2014 5:26 PM
Subject: Re: [zxing] Re: Scanning barcode on a curved surfaces
|
Being very close adds perspective distortion at the edges for a camera phone lens, but barcodes aren't close enough for that to be a factor. Why would it have anything to do with correcting perspective distortion on a curved surface? the surface is still curved and is convex, not concave.
The bars at the center are normal-width, and they become thinner down to 0 as you move around the surface and the line from bar to lens becomes perpendicular to the surface.
The width is proportional to the angle between this line and the plane of the lens. It is not at all proportional to the distances between the near and far point. By this logic, when really close to the barcode, the side bars are wider. Also by this logic, I would see bars and nearly the side of the can as the same width if I were far enough away, which isn't so.
But more than all this -- digital zoom is exactly that, just zoom, doesn't make you farther away. The app already does that a different way, the reticle.
Not sure I understand the logic of the optics discussion but a smaller framing rectangle or digital zoom may help since both can force an increase in lens to target distance. I'm not sure of the amount of improvement that can be achieved (maybe lens and stability related). Maybe you have a "curved barcode" option that either increases zoom or changes the frame size if the selected previewSize is going to provide sufficient resolution. This makes more sense now that larger preview sizes are prioritized.
I'd do an experiment that doesn't need any code mods. Take a digital image of a curved barcode that won't scan taken at twice the distance than the standard barcode frame would suggest (without image stabilisation). Try to scan the image. If Shachar's view is correct, the barcode is more likely to scan.
In fact I'd take two images: one at the normal distance and one at the increased distance so that the distance effect can be compared and examined visually
Joe