zbar

Difference between version 4 and 5 - Previous - Next
'''zbar''' is a library for decoding barcode symbols. http://zbar.sourceforge.net/

[zbar] is provided as a tcl package together with [Androwish]. Documentation for the [zbar] tcl package can be found [http://www.androwish.org/index.html/wiki?name=zbar+command%|%here%|%].

In case someone wants to build [zbar] for Linux manually, [chw] provided the following instructions:

"[chw] 2015-10-24: Should be possible with the latest check-in http://www.androwish.org/index.html/info/c82e1d09884d0458. I've tested manually building it on a CentOS6 system with these commands:
    $ gcc -fPIC -DUSE_TCL_STUBS=1 -DUSE_TK_STUBS=1 -DTCL_THREADS=1 -DPACKAGE=\"zbar\" -DPACKAGE_VERSION=\"0.10\" -c tclzbar.c
    $ gcc -shared -o libtclzbar.so tclzbar.o -lzbar -ltclstub8.5 -ltkstub8.5
    $ wish8.5
    % load ./libtclzbar.so Zbar
"

[dzach] 2015-10-25: To build [zbar] manually in a local directory (I had problems building it with autoconf), I brought the necessary files ''tclzbar.c'' and ''zbar.h'' in a local dir, and linked locally the ''/usr/lib/libzbar.so.0.2.0'' lib  (can also be copied) as ''libzbar.so''. ''/usr/lib/libzbar.so.0.2.0'' was installed earlier using:
    $ sudo apt-get install zbarcam

from Ubuntu's repositories.

Using [chw]'s instructions from above, the compile/link command lines were modified to look for the files in the local dir:
    $ gcc -I`pwd` -fPIC -DUSE_TCL_STUBS=1 -DUSE_TK_STUBS=1 -DTCL_THREADS=1 -DPACKAGE=\"zbar\" -DPACKAGE_VERSION=\"0.10\" -c tclzbar.c
    $ gcc -shared -o libtclzbar.so tclzbar.o -lzbar -ltclstub8.5 -ltkstub8.5 -L`pwd`

To use [zbar] as a TCL package, a ''pkgIndex.tcl'' file was created, with the following contents:
    package ifneeded zbar 0.10 \
        [list load [file join $dir libtclzbar[info sharedlibextension]] Zbar]

To test [zbar], I took a photo of a barcode from an item, e.g. food package, named it barcode_test.jpg, and then entered:
    $ package require zbar
    0.10
    $ package req img::jpeg
    1.4.4
    $ image create photo test_img -file barcode_test.jpg
    test_img
    $ zbar::decode test_img
    81 EAN13 2220063011920 ; # this is the result: milliseconds, symbol type, barcode

***nmake makefile and TCL9***

2025-01-09 [HaO]: An nmake makefile is now present.
TCL9 compatibility is also done and tested.

The alternate decoding library [zxing-cpp] now also features a TCL interface.

<<categories>>Image Processing|Barcode