Códigos de barras + webcam + cualquier aplicacion
- Ubuntu |
- webcam |
- código de barras |
- Debian
Este es un post atípico en este blog, pero al no haber encontrado ningún blog, foro o lista de correo que haya dado una solución al problema creo que merece la pena hacer publico este truco.
Como algunos sabréis existen los lectores de codigos de barras con conexion ps2 o Usb que emulan un teclado (dispositivo HID) y permiten escribir la lectura de los códigos en cualquier cuadro de texto donde este el cursor (si esa rallita negra que parpadea al escribir :P).
Lo que quizas alguno no sabeis es que los codigos de barra se pueden tambien leer desde una webcam, o una foto, o desde el scanner de casa , el sofware encargado de hacer esta magia es zbar que podeis encontrar en los repositorios de Ubuntu/Debian
He aqui un tutorial para que tu webcam haga la misma función que los lectores incluyo un video demostracion (de calidad pesima) al final del post.
Para instalar zbar en Ubuntu (o Debian)#apt-get install zbar-tools
zbar Son un conjunto de librerias y utilidades para decodificar imagenes de codigo de barras procedentes de cualquier fuente, tiene herramientas para integrarlo en vuestro proyectos en C, Python, Qt, Gtk,.... no voy a entrar mas en detalle por que no es el objetivo del alticulo, solo voy a centrarme un una utilidad que tambien estan incluidas en las zbar-tools, el programa zbarcam.
Como veis en la captura de pantalla ejecutado desde la consola, escribe por stdout todos los códigos de barras que va detectado la webcam, en tiempo real, y la verdad es que me ha sorprendido gratamente la rapidez y precision con que lo hace, probando con varios tamaños(algunos realmente pequeños) y diferentes tipos de codigo, EAN13, CODE128, I2/5 y en unas condiciones de luz bastante pobres.
Hasta aquí nada nuevo bajo el sol, pero como llevar ese código que tan amablemente nos ha escrito zbar en la consola a por ejemplo el cuadro de texto de un buscador? o de nuestra aplicación de gestión? o de un simple bloc de notas sin tener que recurrir al copiar y pegar desde la consola?
Aqui es donde entra en accion Crikey! un pequeño programa escrito en C por Akkana Peck que precisamente hace los que buscamos, envía cadenas de texto como si fueran teclas pulsadas del teclado. Hay que descargarse el código fuente, instalar las dependencias y compilar , instrucciones para Debian/Ubuntu:
Ubuntu:$ sudo apt-get install libx11-dev x11proto-xext-dev libxt-dev libxtst-dev
Debian:$ su
# apt-get install libx11-dev x11proto-xext-dev libxt-dev libxtst-dev
# exit
Debian/Ubuntu:$ wget http://www.shallowsky.com/software/crikey/crikey-0.8.3.tar.gz
$ tar -xzf crikey-0.8.3.tar.gz
$ cd crikey-0.8.3
$ make
Ya tenemos el ejecutable "crikey" si queremos utilizarlo sin tener que entrar en el directorio donde lo hemos compilado,
como root lo copiamos en /usr/local/bin, por ejemplo
# cp crikey /usr/local/bin
Y ya tenemos lo tenemos listo
en un terminal ejecutad$ zbarcam --raw|crikey -i
Abrid cualquier aplicacion por ejemplo el gedit y enfocad a un codigo de barras con vuestra webcam, TADAAAAAA!!!!
y aqui un video demostración, perdonad por la oscuridad pero se me fundio la la lampara que suelo usar para grabar en video, pero lo bueno es que aun a con muy poca luz el sistema funciona :), os recomiendo ver el video a pantalla completa.

















Comments
Hey there, I'm having
Hey there, I'm having problems with your site in the Opera browser (the font is extremely tiny). I've tried increasing the font size using the style menu but that barely helped. Any tips on what I can do? (Oh, and if it helps, I'm using Windows Vista) - weight loss tips that work
Tio tambien me da el error
Tio tambien me da el error zbarcam
WARNING: no compatible input to output format
...trying again with output disabled
ERROR: zbar processor in zbar_processor_init():
unsupported request: no compatible image format
La web cam me funciona por que con cheess me funciona ¿que puede estar fallando?
ayuda
me encanto este post, ya que busco algo similar para realizar un trabajo de la universidad, si me puedes ayudar para hacer que funcione, más si es en mac te lo agradecería enormemente
Bárbara , lamento decirte que
Bárbara , lamento decirte que mi experiencia con Mac , se limita a mirarlos de lejos, si tiene arquitectura Intel siempre podrías utilizar un Live CD para llevar a cabo el tutoría.
De todas maneras envíame un mail explicando un poco mas el trabajo a realizar a ver si te puedo echar un cable (no prometo nada)
Me sale un error al ejecutar zbarcam
Hola
Pues primero que todo agradecerte por el tutorial, sigo todo al pie de lo que dices, todo se instala muy bien pero cuando ejecuto el ultimo comando
zbarcam --raw|crikey -i
Me sale el siguiente error, tengo la cámara conectada y la probé con cheese para verificar que la reconociera, le dejo el error
root@OPTIMUS:/usr/local/bin# zbarcam --raw|crikey -i
WARNING: no compatible input to output format
...trying again with output disabled
ERROR: zbar processor in zbar_processor_init():
unsupported request: no compatible image format
De Antemano Gracias por la ayuda prestada
Sigo todo lo que dices al pie
Sigo todo lo que dices al pie de la letra y sin embargo no puedo ejecutar el crikey (Uso el ubuntu 10.04 lucid lynx)
A qué se debe?
Me acabo de instalar 10.04,
Me acabo de instalar 10.04, cuando tenga un rato lo miro y te digo algo.
Te da algun error al ejecutarlo para que pueda darnos alguna pista?
Para nada, sólo dice que
Para nada, sólo dice que Crikey no lo encuentra, exactamente dice "Command not found"
Te dio algun error de
Te dio algun error de compilacion?, si quieres enviame un mail y hacemos una sesion de chat para ver donde esta el error.
Ningún error de compilación
Ningún error de compilación ni nada, es lo más extraño...
¿Por dónde te paso mi mail?
info@tuxbrain.com
info@tuxbrain.com
Necesito ayuda!!
Saludos... me encanta este post, y mas aun porq estaba buscando algo asi ya que estoy desarrollando mi tesis y necesito leer codigos de barra... pero tengo un problemita... ya baje el zbarcam pero la version para windows, y tambien baje el crikey, pero como dices hay q compilarlo, y es ahi donde tengo problemas... no lo puedo compilar porq no tengo todas las librerias, ya q estas vienen en el Ubuntu creo q por defecto... consegui algunas librerias, pero aun asi me faltal y no se cuantas... queria saber si alguien lo tiene compilado ya para windows, o que mas puedo hacer... AYUDENME por favor ;)
No creo que el crikey te vaya
No creo que el crikey te vaya a funcionar en windows ya que esta pensado para enviar pulsaciones de teclas a entorno grafico X11 o X.org.
Tendrias que buscar el equivalente de crikey en windows, es decir enviar desde consola al escritorio.
Quizas exista alguna libreria(dll), ActiveX o función en Visual Basic que lo haga y te puedas hacer un programita pero y eso ya escapa a mis conocimientos. Suerte
Gracias por responde... Mmmm,
Gracias por responde... Mmmm, te entiendo... y tienes razon, lo mas seguro es que ni funcione... bueno y estuve buscando el equivalente en windows como dijistes... pero uy no esta facil :S no he conseguido nada... Mmm pero no hay problema yo puedo montar todo el sistema en Linux como es un sistema Web jejeje... de todos modos seguire buscando y si consigo algo te paso el dato, va? ;)
Va :)
Va :)
Códigos de barras + webcam + cualquier aplicacion
¡Fantástico!
Gracias por tu post.
Funciona genial
Un saludo
gracias por tu comentario, un
gracias por tu comentario, un placer que te haya sido de utilidad
Post new comment