Intel Edison + веб-камера = сканер штрих-кодів

Всі вже звикли до того, що будь-який мобільник вміє сканувати штрих-коди. А як щодо Intel Edison? Насправді все досить просто: досить роздобути веб-камеру і відповідний софт.


API для роботи зі штрих-кодами на Linux
Існую відмінні Linux-бібліотеки з відкритим кодом для роботи зі штрих-кодами. Серед них, наприклад, zxing (ліцензія Apache 2), і ZBar (ліцензія LGPL 2.1.). Вибираючи бібліотеку, слід врахувати, що zxing спочатку написана на Java, а у ZBar є C-реалізація, яка дозволяє обійтися без середовища виконання Java. Ми будемо користуватися ZBar.

Intel Edison і веб-камери, які підключаються по USB
У свіжих образах Yocto для Intel Edison є драйвери для UVC USB камер. Тобто, сумісну камеру досить підключити до пристрою і з нею можна буде працювати. Для того, щоб скористатися камерами інших типів, наприклад, тих, роботу з якими підтримує модуль gspca, може знадобитися самостійно збирати відповідний драйвер.

ZBar
ZBar нам потрібен для роботи з відео реального часу і з нерухомими зображеннями. Для останніх знадобляться бібліотеки ImageMagick, які, разом з усіма залежностями, можна встановити з repo.opkg.net, слідуючи цим инструкциям. А саме, робиться це так:

# opkg install imagemagick_dev
# wget http://sourceforge.net/projects/zbar/files/zbar/0.10/zbar-0.10.tar.bz2
# cd zbar-0.10
# ./configure --without-qt --without-gtk --without-xv --without-xshm --with-imagemagick --with-x=no --prefix="/usr"

Перевірте будь ласка, відповідає виявлена конфігурація вашим очікуванням.

X --with-x=disabled
pthreads --enable-pthread=yes
v4l --enable-video=yes
jpeg --with-jpeg=yes
Magick++ --with-imagemagick=yes
Python --with-python=yes
GTK+ --with-gtk=no
=> the GTK+ widget will *NOT* be built
Qt4 --with-qt=no
=> the Qt4 widget will *NOT* be built

На жаль, параметри
libtool
не повністю працездатні. Тому виклик
make
закінчується повідомленням про помилку. Для того, щоб завершити компіляцію і встановити те, що потрібно, довелося шукати обхідний шлях:

# rm libtool
# ln -s /usr/bin/libtool libtool
# make
# make install

Якщо у вас не встановлено
usr/bin/libtool
, потрібний пакет можна знайти на repo.opkg.net.

Після успішної установки можна буде виявити пару бінарних файлів, що знаходяться за адресами
/usr/bin/zbarimg
та
/usr/bin/zbarcam
. Zbarimg розпізнає штрих-коди, обробляючи графічні файли. Zbarcam шукає штрих-коди в відеопотоків:

# zbarcam --nodisplay


Підсумки
Як бачите, Intel Edison нескладно оснастити всім необхідним для роботи зі штрих-кодами. А якщо сюди додати ще й OpenCV, можна скомбинировать його з ZBar для того, щоб готувати зображення перед розпізнаванням.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.