Está en la página 1de 13

S.E.P.

S.E.S.T.N.M.

T.N.M

INSTITUTO TECNOLÓGICO DE TOLUCA
UNIDAD DE INGENÍERA MECATRÓNICA

Reporte: Reconocimiento de colores y formas en Labview

MATERIA: CAM
PROFESOR: Ing. Jesús Paredes Pedraza

PRESENTAN:
Celaya Celis Héctor
De Alba Gómez Mario Ariel
Díaz López Francisco Javier
Gaytán García Anali
Reyes Castrejón Daniel Enrique
Sánchez Delgado Carlos Alberto

Metepec, México, 01 de diciembre del 2015.

ÍNDICE

.3 Tarjeta externa.............. RESULTADOS.........6 4........ DESARROLLO................6 4.........9 5........................................11 6.................. OBJETIVOS.......................... CONCLUSIONES.......................... INTRODUCCIÓN.... DESCRIPCIÓN DE LA PRÁCTICA................................1.......... 7 4.......................5 4......................................4 3.........................9 5.........................................4 Pruebas.......................3 Procesamiento para el reconocimiento de formas geométricas................................8 5.13 2 .......4 Interfaz con la tarjeta arduino...........................10 5...............1 Adquisición en tiempo real de imágenes.....................2 Panel Frontal................................................................................................................................12 7...........................................................................................................6 4.....................................................3 2........................................................2 Procesamiento para el reconocimiento de colores.......................................................10 5. FUENTES DE CONSULTA....1 Diagrama a bloques..............

3 . permitiendo realizar tareas de monitoreo y control de calidad sin la necesidad de operadores humanos y de forma totalmente automatizada.1. La presente práctica presenta la descripción y desarrollo de un sistema de reconocimiento de colores y formas mediante el software Labview. permitiendo que desarrolladores con pocos conocimientos en las áreas de control. El reconocimiento de imágenes en específico ha sido aplicado satisfactoriamente a diversos procesos de manufactura. procesamiento de señales e inteligencia artificial sean capaces de implementar este tipo de aplicaciones. En la actualidad existen plataformas de desarrollo de software que facilitan la implementación de aplicaciones para el reconocimiento de patrones en imágenes. En ella se especifican operaciones como la programación a bloques de la aplicación y su interfaz con la tarjeta arduino. INTRODUCCIÓN Las técnicas de control inteligente basadas en el reconocimiento de patrones son cada vez más demandadas dentro del sector industrial debido a su alta eficiencia y nivel de confiabilidad.

rojo y verde. DESCRIPCIÓN DE LA PRÁCTICA Como se mencionó anteriormente la presente práctica busca el desarrollo de una aplicación capaz de reconocer colores y formas en tiempo real.2. mientas que las figuras propuestas han sido triangulo circulo y cuadrado. 4 . Para ello se ha hecho uso de las siguientes herramientas: 1) Software Labview de National Instruments 2) Tarjeta Arduino UNO 3) WebCam 4) Patrones geométricos de varios colores Los colores propuestos para el reconocimiento han sido azul.

este los reconocerá y encenderá un led virtual dentro de la aplicación según sea el caso de forma y color detectado.La práctica puede describirse bajo los siguientes parámetros: 1) Haciendo uso del módulo de “Vision and motion” de Labview.  Desarrollar una subrutina capaz de sincronizar el reconocimiento de formas y colores con la activación de leds físicos mediante una tarjeta arduino. por lo que se generan éstas a base de los patrones geométricos y colores a reconocer para posteriormente emplearse en el entrenamiento. OBJETIVOS  Desarrollar un programa capaz de reconocer colores y encender un led virtual dentro de una aplicación según sea el caso. se genera un programa a bloques capaz de adquirir imágenes de la webcam en forma continua.  Desarrollar un programa capaz de reconocer formas geométricas y encender un led virtual dentro de una aplicación según sea el caso. de forma paralela al led virtual se activará un led real mediante la tarjeta arduino. 5 . procesarlas y reconocer patrones. 3. 4) Al ejecutar la aplicación y mostrarle los patrones geométricos. 3) Mediante la librería externa “Makerhub” se genera una subrutina dentro del programa la cual permite la comunicación con la tarjeta arduino (entre otras tarjetas). 2) El programa requiere de un entrenamiento basado en muestras.

adquisición finita. la cual habilita al sistema para reconocer un patrón de color al instante que este entra en nuestra área de visión.2 Procesamiento para el reconocimiento de colores Para el reconocimiento de colores se ha empleado el módulo de “visión assistant” dentro del software Labview. Para este caso se ha configurado en adquisición continua con procesamiento en línea. En el VI. este buffer se muestra en la anterior imagen mediante la etiqueta IMAQ. Al bloque de visión acquisition se le conecta un botón de stop el cual detendrá la aplicación.4. Para ello. adquisición continua. Ya que la aplicación es de procesamiento continua. Este bloque permite adquirir imágenes de una cámara conectada al ordenador en los formatos de una sola toma. DESARROLLO 4. todos los módulos quedarán definidos dentro de un bucle “while” infinito Cabe resaltar que la imagen es inicialmente almacenada en un buffer previo a su procesamiento en el bucle antes mencionado. el vision assistant se ha colocado dentro del bucle while infinito ya que el procesamiento de la imagen será continuo. Dentro de los controles de 6 . etc. el módulo se ha configurado bajo la definición de color color location. Esto se realiza con la intención de detectar errores generados en la cámara.1 Adquisición en tiempo real de imágenes La adquisición de imágenes en tiempo real se ha realizado por medio del bloque de “visión acquisition”. 4.

se empleó la función de “pattern matching” contenida en las utilidades de Machine Visión.3 un de de así Procesamiento para el reconocimiento de formas geométricas El desarrollo de esta función siguió un procedimiento en su mayoría equivalente al reconocimiento de colores. En total se emplearon 3 de estas funciones. primeramente se empleó un “color plane extraction” de las funciones de procesamiento a color. En esta ocasión.salida se ha habilitado en “number of matches” con la intención de que al reconocer un color el sistema envie un valor numérico de 1 a la salida. lo anterior con la intención de transformar nuestras imágenes a color adquiridas a imágenes en escala de grises. 4. el number of matches se habilito para cada uno de los 3 colores que el sistema reconocerá. 7 . Estas condiciones lógicas salida activarán un conjunto de leds indicadores dentro de la aplicación como un conjunto de leds reales vía la tarjeta arduino. Posteriormente. se empleó un segundo módulo de visión assistant conectado en serie con el primero. Debe resaltarse que a la salida del control number of matches se colocó comparador lógico de tal suerte que se genere una condición lógica verdadero respectiva al reconocerse cierto color. De forma equivalente. una para cada patrón geométrico.

De forma análoga al reconocimiento de colores. Debe notarse el cuadro azul conectado a este módulo. 2. Finalemente. Una vez instalada la librería y actualizado el firmware de la tarjeta se procederá a explicar el desarrollo del programa. Conectar la tarjeta Arduino al ordenador. 4. el cual representa un conjunto de 8 . Actualizar el firmware de arduino. Abrir Labview. para ello se generó un control (visible también en el front panel) cuya finalidad es seleccionar el puerto COM al que ha sido conectado la tarjeta antes de correr el programa. el liberador de memoria elimina la imagen almacenada en el buffer liberando la sección de memoria empleada. Acto seguido. Seleccionar la pestaña de Tools-Makerhub –> Linx -> Linx Firmware Wizard. Después de instalarse. se procedió a introducir el módulo “digital write” con la finalidad de controlar el estado lógico de las salidas digitales de la tarjeta. para su correcto funcionamiento debe actualizarse el firmware de la tarjeta arduin mediante el siguiente procedimiento: 1.4 Interfaz con la tarjeta arduino Para esta función se empleó la librería “Makerhub” descargada mediante el VI Package Manager. se conectarón 2 funciones de gran importancia al programa fuera del bucle while infinito: un indicador de error y un liberador de memoria. se activó el control de number of matches y se conectaron las salidas a comparadores lógicos de igualdad con la finalidad de activar indicadores (leds) físicos y virtuales. 4. El indicador de error tiene la función de mostrar un cuadro de dialogo dando una descripción de un error en caso de generarse. 3. Primeramente se inicializó el uso de la tarjeta mediante el módulo “Initialize”.

El close o general close termina la conexión con la tarjeta liberando el puerto COM empleado para la comunicación. borrando los valores escritos previamente en esta. El digital close deshabilita los puestos digitales en la tarjeta. Otro elemento de gran importancia a definirse en el módulo de digital write corresponde al control que indicará el cuándo deben activarse los pines antes definidos. Ya que el módulo de digital write admite solo valores de control booleanos.constantes que indican los números de los pines en la tarjeta a ser controlados. El indicador de error muestra una descripción de la naturaleza del error en caso de generarse alguno. para ello se generó un array de variables booleanas capaz de concentrar los valores generados por los comparadores de igualdad a la salida de los módulos del “vision assistant”. Estos módulos son un digital close. un general close y un indicador de error. 5. Finalmente. RESULTADOS 5.1 Diagrama a bloques A continuación se muestra una imagen del diagrama a bloques completo: 9 . se generaron los módulos necesarios para finalizar la ejecución del programa ubicados fuera del bucle while infinito. el array puede ser conectado directamente al mismo.

5. Botón de stop: detiene el programa. Leds indicadores: Muestran el patrón detectado según sea el caso. A continuación se muestra una imagen del panel frontal: 10 . Serial Port: Permite al usuario determinar el puerto en el que se ha conectado la tarjeta.2 Panel Frontal El panel frontal está compuesto por 4 elementos:     Image out: Ventana donde se muestra el video capturado por la webcam.

haciendo el reconocimiento de distintos patrones geométricos y activando los equivalentes leds físicos mediante la tarjeta arduino.3 Tarjeta externa La tarjeta arduino se encuentra conectada a 6 leds indicadores que son el equivalente físico de los mostrados en el panel frontal.5. el color de los leds corresponde con el color detectado por el software A continuación se muestra su estructura: 5.4 Pruebas A continuación se muestran imágenes del software ejecutándose. 11 . Cabe aclarar que en la tira de leds con colores variados.

CONCLUSIONES 12 .6.

com/watch?v=VHOCkpKF7t4&index=78&list=WL  https://www.ni. 7. que si bien no disminuye las capacidades funcionales del reconocimiento.com/labview/esa/  www. pues el desarrollo de esta aplicación consumió un periodo aproximado de dos semanas partiendo de un conocimiento nulo del software.com/watch?v=ClxiSBoFxNc&index=76&list=WL  www. control y procesamiento de señales. el sistema sigue siendo susceptible a perturbaciones externas. Otra observación es la ralentización del procesamiento generada por la aplicación de esta técnica.com/labview/vision/ 13 . FUENTES DE CONSULTA  https://www. sobre todo al cambio de luminosidad ambiental. Se puede destacar la curva de aprendizaje de Labview por ser bastante reducida.A pesar de que el reconocimiento se muestra muy estable después de aplicar una extracción de plano y trabajar bajo escala de grises. si lo vuelve visualmente menos atractivo. Labview se presente como una buena oportunidad para generar aplicaciones industriales y es ideal para ingenieros con poco o nulo conocimientos de electrónica.youtube.youtube.ni.