Wiki source for Blog20110603BarCodeWebcam

Show raw source

My use case would be to show my book's barcode in front of the webcam and provide automatically the ISBN (EAN) to gcstar and launch search. This would permit to enter my library a bit faster ;-)

===Some tools that recognize barcode using a webcam=== java, no doc to launch it o_O (check wiki though) source code + apk file good spirit :-) and using ffmpeg

The option pgmpipe was not working as not implemented in default ffmpeg on Mageia 1, see
hmmm pgmpipe not by default either :/ (new name for zebra) qt4 & gtk UI available apparently

===Using gcstar===
See CompileGcstar
I'd like to use:
~- or or on computer's side with gcstar >= 1.6.2
~- EAN-13 instead of ISBN-10 (EAN-13 is scanned by default by QRdroid private): well this seems a problem with the add-on I chose to find the book, as with netcat I can see that the EAN-13 is correctly provided by gcstar scanner
%%nc -vv -l -p 50007
listening on [any] 50007 ... inverse host lookup failed: Unknown host
connect to [] from (UNKNOWN) [] 43588
<scans><scan format='EAN_13'>3780193006955</scan></scans>
<scans><scan format='EAN_13'>9782290307274</scan></scans>
<scans><scan format='EAN_13'>9782070403974</scan></scans>
^C sent 0, rcvd 174%% in python on android

===Using JLinBar===
tar xvf v4l4j-0.8.10.tar.gz
cd v4l4j-0.8.10
export JDK_HOME=/usr/lib/jvm/java-1.6.0-openjdk
ant all
sudo ant install
ant test-gui
ant deviceInfo
cd ../zxing/
ant -f core/build.xml
ant -f javase/build.xml
%%java -cp javase/javase.jar:core/core.jar ../UPC_A.png
file:/home/baud/Development/scanner_codebarre/zxing/../UPC_A.png (format: UPC_A, type: PRODUCT):
Raw result:
Parsed result:
Found 2 result points.
Point 0: (51.5,240.0)
Point 1: (623.5,240.0)
%%java -Djava.library.path=/usr/lib/jni -cp /usr/share/java/v4l4j.jar -jar jlinbar.jar
Exception in thread "main" java.lang.NoClassDefFoundError: au/edu/jcu/v4l4j/FrameGrabber
Caused by: java.lang.ClassNotFoundException:
at Method)
at java.lang.ClassLoader.loadClass(
at sun.misc.Launcher$AppClassLoader.loadClass(
at java.lang.ClassLoader.loadClass(
Could not find the main class: net.planewalk.apollon.jlinbar.JLinBar. Program will exit.

===Using vgrabbj and gocr for barcode decoding=== and
%%$ vgrabbj -d /dev/video -o ppm | gocr -%%

what worked for me : %%$ vgrabbj -d /dev/video0 -o ppm | gocr -%%
well, disappointingly I keep having %%<barcode type="unknown" /><barcode type="unknown" />%%

vgrabbj -d /dev/video2 -i vga -o ppm -f essaivga2.ppm -l 1 # will launch vgrabbj as a deamon and take an image every second, re-writing the file
display # will show the image (have to tweak to be displayed whenever it changes, or perhaps does it automatically)

you can use the option sxga for 1280x1024 instead of vga

===Other ocr tools to try=== batoo ocr tool (J2ME available) recompile tellico with ""--enable-webcam""

===The webcam(s) used===
Integrated webcam in Latitude E6400 (does not work that well... blurred)
Logitech Pro 4000 640x480 perhaps missing auto-focus
Eee PC 901 1,3 Mpixel maybe 1280x1024 ? according to [[]]
Those integrated webcams seem to lack auto-focus support, in the end only scanning with my smartphone HTC Desire Z seemed to work effectively.

===Verifying that gocr works on barcode===
Well, to check that gocr works, just use {{image class="right" alt="barcode" title="a barcode" width="333" height="240" url="" link=""}}
~- convert it with inkscape to png (convert tool does not seem to work perfectly with svg yet ?)
~- then gocr -i UPC_A.png # provides %%
_<barcode type="UPC" chars="13" code="0987654321098" crc="0" error="0.012" />

9 87654 32109 8%%
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki