Hoy os traemos una guía sobre la creación de un escáner de código de barras con Webcam en Intel Edison, de mano de Matthias-hahn (Intel).
Al ser el escaneo de códigos de barra un estándar en dispositivos móviles se podría permitir que Intel (R) Edison realizara escaneos automáticos de códigos de barras.
En Linux hay numerosas bibliotecas de lectores de códigos de barras de código abierto, como zxing (Apache 2), o ZBar (LGPL 2.1). Mientras que zxing está basado en Java, Zbar tiene una implementación C y por ello no requiere una rutina API ZBar.
Con las imágenes recientes Yocto de Intel® Edison, los drivers para cámaras UVC USB ya están incluidos y puede usarlos directamente en esas cámaras. En otras cámaras como las webcams gspca puede ser necesario incorporar el driver primero para usar la cámara.
Queremos poder usar Zbar para videos en directo y también para imágenes estáticas. Para lo últimos necesitamos las bibliotecas
ImageMagick que puede instalar incluyendo todas las dependencias directamente desde directamente desde repo.opkg siguiendo las instrucciones vía
1 2 3 4 |
# opkg install imagemagick_dev <span># wget http://sourceforge.net/projects/zbar/files/zbar/0.10/zbar-0.10.tar.bz2 </span><span># cd zbar-0.10 </span><span># ./configure --without-qt --without-gtk --without-xv --without-xshm --with-imagemagick --with-x=no --prefix="/usr" </span> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[...] <span>which should end after some time with </span>[...] please verify that the detected configuration matches your expectations: ------------------------------------------------------------------------ [...] 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 |
Lamentablemente, la configuración de la libtool no parece funcionar al
100%. De este modo «hacer » terminó con un mensaje de error. Para acabar la compilación y la instalación, usé el siguiente método alternativo:
1 2 3 4 |
# rm libtool # ln -s /usr/bin/libtool libtool # make # make install |
En el caso de que no tenga instalado "/usr/bin/libtool" puede encontrar un paquete pore j. en repo.opkg.
Tras una instalación correcta, debería encontrar los 2 binarios "/usr/bin/zbarimg" y "/usr/bin/zbarcam". El primero es un ejemplo de lector binario de códigos de barras de imágenes estáticas. El último, directamente de flujos de vídeos en directo vía
1 |
# zbarcam --nodisplay |
Si tiene OpenCV instalado en Intel(R) Edison también puede combinar zbar yOpenCV para realizar un procesado de imagen previo a la detección (ej. OpenCV&ZBar ejemplo)
Para más información sobre IoT Gateways y para ser notificado cuando el Kit Comercial de Desarrollador Intel IoT este disponible visitaremos el Centro de Diseño incorporado.
Para aprender más acerca de nuestro programa para desarrolladores IoT ver la Zona de desarrollador Intel IoT.
Sources:
Intel Centro de Diseño incorporado, Zona de desarrollador Intel IoT, Repo, Imagemagick, Linux, Zbar, Zxing