Sobre mi.

Mi foto
Santander, CANTABRIA, Spain
Bienvenido a mi Blog, soy César Zazo Serrano y os mostraré las actividades realizadas durante el curso 2012/2013 en la asignatura de desarrollo y construcción de prototipos electrónicos que imparte nuestro profesor Don José Luis Del Val en el Centro Integrado De Formación Profesional Nº1 situado en Peñacastillo.

viernes, 1 de febrero de 2013

Codigo de Barras, Codigo QR y OCR


En la siguiente entrada voy a realizar un lector que permita leer códigos de barras, códigos QR y leer textos mediante la utilización del programa Vision Builder.

En el siguiente ejemplo vamos a generar un código de barras con la fecha de nacimiento, un código QR que lea la dirección de nuestro blog, y un escrito con una frase aleatoria:



Dado que esta es la primera entrada en la que utilizo este programa mostrare todos los pasos:

Lo primero que vamos a hacer es abrir el Vision Builder y crear un nuevo proyecto.



Una vez conectada la cámara pincharemos en “acquire Image” para añadir las imágenes que deseemos.



En la pestaña main nos aparecen las cámaras disponibles, seleccionando en mi caso la que está conectada por USB.




Seleccionamos la resolución de las imágenes y el resto de opciones de calibración y características de la cámara no será necesario tocarlas pues no son relevantes. Una vez hecho esto pulsamos OK.

Empezaré entonces insertando las instrucciones para la lectura del código de barras pulsando la instrucción “Read 1D Barcode”  situada en la pestaña “Identify Parts”.


Pongo un nombre al siguiente paso y selecciono la zona en la que se podrá leer el susodicho código. Para que la lectura sea más eficaz la zona de captura es recomendable que evite las letras de abajo y que sea un poco más ancho que las últimas líneas negras de ambos extremos, sin que lleguen al recuadro pues entonces el programa piensa que forma parte del mismo.



En el apartado Settings configuro el tipo de código de barras, en mi caso el 128 y el resto de opciones las desmarcamos.  tenemos que seleccionar la región de interés (zona que tendrá en cuenta el programa para detectar lo deseado) 
 En este apartado observamos que el Score es correcto, que podemos definir como la puntuación que el programa otorga a la captura que realiza, siendo 1000 la máxima, y el mínimo como para que el programa la tenga en consideración vamos a indicar que sea 800. Además nos muestra el resultado, siendo este el que deseo.

Ahora voy a insertar el lector QR, que situado en el mismo menú Identify parts seguirá los pasos del código de barras:
En este caso, en las opciones del main, aparte de ponerle un nombre,así como el tipo de código que queremos leer, El QR code. Seleccionaremos como región de interés toda la imagen para



Nota: es necesario suprimir el filtro de color RGB, ya que para la lectura de un código QR no soporta más que 8 bits y en caso de no suprimirlo, no nos va a permitir leer este tipo de código al ser la imagen obtenida de 32 bits.
Para ello voy a realizar los siguientes pasos:
En la pestaña “Enhace Images” pulsaremos el botón “visión assistant”, y nos aparecen unas nuevas pestañas, le ponemos un nombre al paso e indicare que deseo que se edite toda la imagen,  y procedemos a editar, se abre entonces una nueva ventana del asistente de visión:

En la pestaña de funciones de color pulso la opción de “extract color planes” y una vez se nos abre la opción del filtro a retirar seleccionamos el HSL luminance plane para que el tipo de imagen que obtenga sea más clara y accesible para el programa sin perder información relevante aparte de que sea posible que se puedan leer los textos QR


Ahora vamos a realizar la inclusión del lector de textos.

Pulsaremos en botón de lectura y verificación (Read/verify text) situada en la pestaña “Identify Parts”.
Una vez aquí entro en la pestaña Mode y seleccionando el botón “New character set file” abriéndose una nueva ventana llamada “Training interface” en la cual editare el tipo de letra para que el programa lo comprenda y así cada vez que se encuentra con dichas letras las reconozca.



¿Y cómo se hace esto? Muy fácil, yo lo he realizado de dos formas diferentes.
Si sólo quiero que lea un texto concreto,  adquiriré una imagen con el texto a leer, e iré seleccionando cada letra indicando al programa a que letra se refiere.

Como se observa en la siguiente foto, he recortado la letra E y el programa la ha detectado como una  L según los caracteres que tiene estudiados y que ya he editado con anterioridad, pero en caso de tratarse de un texto sin editar, el programa en el apartado “Text read”  no entendería que tipo de letra es y mostraría un interrogante.
Entonces, le entrenaré al programa para que cada vez que reconozca esa forma escriba una E, pulso el botón train y automáticamente cambiará la L por la E y además generará en la pestaña “Edit carácter set file” una imagen con el recuadro de la letra para que se cree con un archivo de la información que le vamos añadiendo.


En caso de lo que deseemos es que lea cualquier texto con un tipo de letra concreta, lo más recomendable es generar una fotografía con todas las letras de dicha fuente y con la misma analizarla con el programa para que detecte todos los elementos que lo conforman y de un solo entrenamiento se incorporen todas las letras. Generando un archivo con todas las letras, a las que posteriormente se le pueden ir insertando nuevos caracteres ya que no todos los textos se van a poder leer con la claridad de una foto con fondo blanco.



Por último generaré la constante en la cual se ha de leer el texto.


El último paso consiste en los “Custom overlay” que se puede traducir como el resultado que deseamos mostrar en pantalla de todo lo realizado anteriormente, donde indicare que es lo que deseo mostrar, donde y como. Se sitúa en la pestaña de herramientas “use aditional tools” una vez pulsado, se abren tres pestañas en las que configuraré lo que deseo mostrar.



En la pestaña “main”  indicare el nombre del paso.
En la pestaña Custom Overlay será donde configuraremos lo que debemos mostrar.


En la parte superior seleccionamos la forma en la que queremos mostrar el resultado, ya sea con un texto, o en caso de que deseemos un verdadero o falso  por medio de un led que se cambie de color dependiendo del resultado “Pass o Fail”. Yo voy a utilizar un texto, que indicaré en la pantalla donde quiero que se muestre una vez pulse el botón [Aa] y posteriormente pulsaré en el botón que aparece una regla para indicarle que es lo que quiero que me muestre, en el caso del código de barras como se ve en las siguiente foto, seleccionaremos ID, que trata de la identificación del código de barras.


Ahora mostraremos los resultados obtenidos en las siguientes fotografías:




1 comentario:

  1. Mi version dl vision builder es la 2013. No me reconoce ninguna version dl ni-imaq... de tal manera q no me reconoce la camara integrada dl portatil... sabes como solucionarlo??

    ResponderEliminar