- PVSM.RU - https://www.pvsm.ru -
Все уже привыкли к тому, что любой мобильник умеет сканировать штрих-коды. А как насчёт Intel Edison? На самом деле, всё довольно просто: достаточно раздобыть веб-камеру и подходящий софт.
Существую отличные Linux-библиотеки с открытым кодом для работы со штрих-кодами. Среди них, например, zxing [1] (лицензия Apache 2), и ZBar [2] (лицензия LGPL 2.1.). Выбирая библиотеку, следует учесть, что zxing изначально написана на Java, а у ZBar есть C-реализация, которая позволяет обойтись без среды выполнения Java. Мы будем пользоваться ZBar.
В свежих образах Yocto для Intel Edison имеются драйверы для UVC USB камер [3]. То есть, совместимую камеру достаточно подключить к устройству и с ней можно будет работать. Для того, чтобы воспользоваться камерами других типов, например, тех, работу с которыми поддерживает модуль gspca [4], может понадобиться самостоятельно собирать подходящий драйвер.
ZBar нам нужен для работы с видео реального времени и с неподвижными изображениями. Для последних понадобятся библиотеки ImageMagick [5], которые, вместе со всеми зависимостями, можно установить с repo.opkg.net [6], следуя этим инструкциям [7]. А именно, делается это так:
# 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 [6].
После успешной установки можно будет обнаружить пару бинарных файлов, находящихся по адресам /usr/bin/zbarimg
и /usr/bin/zbarcam
. Zbarimg распознаёт штрих-коды, обрабатывая графические файлы. Zbarcam ищет штрих-коды в видеопотоках:
# zbarcam --nodisplay
Как видите, Intel Edison несложно оснастить всем необходимым для работы со штрих-кодами. А если сюда добавить ещё и OpenCV, можно скомбинировать [8] его с ZBar для того, чтобы подготавливать изображения перед распознаванием.
Автор: Intel
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/blog-kompanii-intel/121410
Ссылки в тексте:
[1] zxing: https://github.com/zxing/zxing
[2] ZBar: https://github.com/ZBar/ZBar
[3] UVC USB камер: https://en.wikipedia.org/wiki/USB_video_device_class
[4] gspca: http://www.linuxtv.org/wiki/index.php/Gspca
[5] ImageMagick: http://www.imagemagick.org/
[6] repo.opkg.net: http://repo.opkg.net/edison/repo/core2-32/
[7] инструкциям: https://alextgalileo.altervista.org/edison-package-repo-configuration-instructions.html
[8] скомбинировать: http://blog.ayoungprogrammer.com/2014/04/real-time-qr-code-bar-code-detection.html
[9] Источник: https://habrahabr.ru/post/301492/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.