P. 1
Guia_adquisicion Imagenes Labview

Guia_adquisicion Imagenes Labview

|Views: 5.275|Likes:
Publicado porbaalkara

More info:

Published by: baalkara on Sep 24, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

08/21/2013

pdf

text

original

2.

ADQUISICION DE IMÁGENES POR LABVIEW
2.1 Objetivos 2.1.1 General • Cargar una imagen desde el disco duro en labview. 2.1.2 Específicos • Grabar imágenes en los diferentes formatos usados en Labview • Observar los diferentes modelos de color que maneja labview. • Desarrollar programas en Labview para mostrar los diferentes modelos de color usados por el mismo 2.2 INTRODUCCIÓN: Una vez una escena a sido observada y capturada, por ejemplo una fotografía, tenemos nuestra herramienta básica de trabajo, una imagen digital. Esta imagen podrá ser en blanco y negro, en escala de grises o a color, a su vez podrá ser almacenada en un archivo usando formatos de imagen apropiados como jpeg, bmp, png, tiff, o aipd que será el formato de trabajo de labview, software al que va dirigido este documento. 2.3 DESARROLLO Ahora se van a explicar 2 ejemplos para abrir imágenes y guardarlas en distintos formatos. 2.3.1 Ejemplo 1 A continuación se desarrolla un ejemplo en donde se importa una imagen desde el disco duro: Programa para cargar imágenes en labview

Figura 2.1 Panel frontal para cargar imágenes en labview

1

2

Figura 2.2 Diagrama de Bloques para cargar imágenes en labview

se dio click derecho y se selecciono create-control (ver figura 2. Luego de realizar la transformada de una imagen en escala de grises a una imagen compleja. posee varias propiedades. acá solamente se trabajo la del tipo de imagen (Image Type) y se le incluyo el nombre de “imagen” (Image Name).∞ a ∞ por píxel Una imagen de tipo complejo (CSG) contiene la información en frecuencia de una imagen en escala de grises. Se pueden crear imágenes complejas aplicando la transformada de Fourier (FFT) a una imagen en escala de grises. Para poder desarrollar el ejemplo se eligió una imagen en Escala de grises (U8)(0) (Grayscale(U8)) en la entrada del image type. verde.3 IMAQ Create[1] El IMAQ create.4).Nota: Para el desarrollo del ejemplo es importante que el Image Type se encuentre en Grayscale (U8). luminance or intensity) RGB (U64) (6): 64 bits por píxel (rojo. La salida New Image contiene la referencia del espacio creado para la nueva imagen. se coloco un control en la entrada Image Type del IMAQ create. (1) Figura 2. que se encuentra en el diagrama de bloques Functions>Vision and Motion>Vision utilities>Image Managemet es una sub función interna de labview que crea un espacio temporal en memoria para la imagen que se desea trabajar. azul): Una imagen en escala de grises esta compuesta por un plano simple de píxeles. Cada píxel en una imagen compleja es codificado en dos datos de 32 bits cada uno. El tipo de imagen puede ser: Escala de grises (U8)(0): 8 bits por píxel (monocromático estándar) Escala de grises 16(1): 16 bits por píxel Escala de grises (SGL)(2): 32 bits por píxel Complejo (CSG) (3):2x32 bits por píxel RGB (U32)(4): 32 bits por píxel (rojo. se pueden realizar operaciones en el dominio de la frecuencia de la imagen. que representan la parte real e imaginaria del píxel complejo. para ello en el diagrama de bloques se ubicó el puntero del mouse sobre esta entrada. verde. esto crea un menú en el panel frontal con todas los tipos de imágenes que se pueden seleccionar. Los píxeles están codificados por: • • • Una imagen de 8 bits representa una escala de grises con valores entre 0 y 255 por píxel Una imagen de 16 bits representa una escala de grises con valores entre -32.768 y 32767 por píxel Una imagen de 32 bits o de punto flotante representa una escala de grises con valores entre . Para poder seleccionar el tipo de imagen que se desea. por ello es conectada a la entrada Image del IMAQ Readfile (línea 1). . saturation. azul) HSL o HSI (U32) (5): 32 bits por píxel (hue.

esta será la caja que se conecta a la entrada File Path del IMAQ Readfile.se eligió Graysccale (U8). para ello se coloco un IMAQ Histograph que se encuentra en el diagrama de bloques en Functions>Vision and Motion>Image procesing>Analisis. Al crear el File Path ctrl en el panel frontal. Luego la salida Image Out que tiene la referencia de la imagen se conecta en el Image display que se encuentra en Controls> Vision en el panel frontal (Línea 2) . para ello se coloca en su entrada Image la imagen deseada.2 Ejemplo 2 .1. Para ver la grafica de este se coloca un Waveform graph que se encuentra en el panel frontal en Controls> Express>Graph indicators. HSL. y convierte la lectura de píxeles en la imagen antes definida en el IMAQ create.5 IMAQ Readfile[1] Para seleccionar la imagen a abrir se necesita un File Path ctrl. tiff. este crea una caja llamada Path en el diagrama de bloques.2.El panel frontal es mostrado en la Figura 2.4 Creando un control El IMAQ Readfile. bmp. acá se deberá poner la dirección completa de la imagen en el disco. que se encuentra en el panel frontal en Controls> Express>Text Controls. (2) Figura 2.6 IMAQ Histograph[1] 2. Se visualiza además el histograma de la imagen. Acá UNICAMENTE se podrá visualizar la grafica del histograma de imágenes en escala de grises. (1) (2) Figura 2. por ello en la entrada Image Type del IMAQ create. y el diagrama de bloques en la Figura 2. en este caso la imagen leída desde el IMAQ Readfile a través de su salida Image out (Línea 2). png. HSI) según se desee. o aipd. es una sub función de labview que lee la imagen del usuario en los formatos jpeg. este retorna los datos del histograma listos para graficarlos. Si se desea ver el histograma de una imagen a color se debe usar el IMAQ ColorHistograph que se encuentra en el diagrama de bloques en Functions>Vision and Motion>Image processing>color Processing que retorna el histograma de cada una de los planos de la imagen (RGB.3. se encuentra en el diagrama de bloques en Functions>Vision and Motion>Vision utilities>Files. HSV.Figura 2.

. Estos elementos se pueden observar en la Figura 2.8 menú desplegado en el Image Type En este caso a diferencia del anterior no se coloco el image display sino que se decidió utilizar otra de las herramientas del labview en el diagrama de bloques la cual explicaremos mas adelante. Figura 2. Cabe decir que también se ha podido crear un control para que el usuario sea quien le coloque el nombre a la imagen. explicado anteriormente.9 Diagrama de bloques para el ejemplo 2 En el diagrama de bloques se uso: IMAQ create: Como ya se menciono anteriormente este subVI crea un espacio temporal en memoria para la imagen que se desea trabajar. También se coloco un menú ring que servirá para seleccionar el tipo de imagen aprovechando las características del IMAQ create. Se introdujo un label constante con un nombre que se escogió aleatoriamente. Figura 2.7 1 2 3 Figura 2. De sus puertos se decidió usar: Image type: Es el mismo menú ring del image type que se creo en el front panel. Imagen name: Simplemente es para colocar el nombre de la imagen.A continuación se desarrolla un ejemplo en donde se importa una imagen desde el disco duro y se guarda en otra ubicación inclusive cambiándole el formato de la imagen.7 Elementos usados en el panel frontal para el ejemplo 2 En este caso se colocó en el panel frontal un File path para seleccionar la ruta del archivo de imagen con el que se quiere trabajar al igual que como se había realizado en el ejercicio anterior en donde simplemente se abría la imagen guardada en el disco duro.

. acá se uso un File Path constante donde se escribió la referencia en el disco. (3) Figura 2. New image: Es “la salida” del subVI. Image: es la referencia a la imagen que se quiere guardar. su uso es igual. Este subVI se encuentra en el diagrama de bloques en Functions> Vision and Motion> Vision utilities> External Display. esta se conecta al image out del IMAQ WindDraw: File Path: es la referencia en el disco donde se quiere guardar la nueva imagen. Se encuentra en el diagrama de bloques en Functions> Vision and Motion> Vision utilities > Files. File path: es donde se pone la dirección en memoria de la imagen que se desea abrir. pero también puede ser creada como un control para que el usuario tenga la opción de escoger la ruta donde la quiere guardar. Si se quieren visualizar más de dos IMAQ WindDraw: se deberá colocar una constante en la entrada Windows Number con un número de 0 a 15. para leer la imagen del usuario. Para ello se hace click derecho sobre la entrada File Path del IMAQ Write File 2: y se elige constante o control según se desee. Image out: Aquí ya sale la imagen como tal con un formato y este puerto debe ir conectado a un display que nos muestre la imagen. La imagen se puede seguir usando gracias a la salida Image Out del IMAQ WindDraw. (2) (3) Figura 2. irá conectada a la entrada del siguiente subVI. Por defecto el ancho de este borde es 3 que fue el que se decidió dejar. IMAQ WindDraw: En este caso se decidió no utilizar un image display sino esta herramienta que a diferencia del image display abre la imagen en una ventana independiente de labview. IMAQ ReadFile: Aquí se lee la imagen del usuario y convierte la lectura de píxeles en la imagen antes definida en el IMAQ create. Para ello se selecciona el formato con la flecha que aparece en la parte de abajo del subVI. Image: Es la entrada donde se referencia la imagen que se quiere mostrar. sin embargo se debe escoger el formato desde un principio.11 IMAQ Write File 2[1] Filepath: Simplemente sirve para seleccionar la ruta del archivo donde se quiere guardar la imagen. NOTA: debido a la versión de Labview este subVi puede cambiar y convertirse en una caja para cada uno de los formatos usados por LabView. Esta.10 IMAQ WindDraw[1]: IMAQ Write File 2: Este es el subVI que permite guardar la imagen en un archivo en formato deseado. allí se conecto el Image Out del IMAQ Readfile.Border size: En este campo se especifica el ancho del borde de la imagen en pixeles. De sus puertos virtuales se usara: Image: Aquí es donde va conectada la salida del IMAQ create. En este caso esta definida como una constante.

en este ejemplo se decidió convertir la imagen a un recuadro de 64 * 64 pixeles. para ello se conecto la imagen a la entrada Image Scr. Este le da un nuevo tamaño a la imagen. notándose que en la imagen original el pico de gris llega hasta 900 mientras que en la imagen modificada llega solo hasta los 200 3 4 . tanto en ancho como en largo.Ejemplo 4 En este ejemplo se cambiara la resolución espacial de una imagen Figura 2. Se puede observar el histograma de las dos imágenes el cual no cambia mucho en su distribución de grises. en las entradas X resolution y Y resolution se colocaran los nuevos valores de pixeles. pero si en cantidad de cada gris.12 panel frontal de cambio de resolución 1 2 3 4 Figura 2.13 Diagrama de bloques de cambio de resolución Para realizar el cambio de resolución se uso ahora un IMAQ Resample que se encuentra en el diagrama de bloques en Functions> Vision and Motion> Vision utilities> Image Manipulation.

nombrando el archivo con el nombre del plano.13.13 IMAQ BCGLookup[1] Éste modifica el brillo. 7. el contraste y la luminosidad de la imagen.4 Ejercicios propuestos 1.Figura 2. Para el procesamiento coloque un control en la entrada BCG Values molifíquelos y observe que sucede con el histograma. Se modificara ahora el brillo y el contraste de la imagen. Guarde en un archivo y con el formato que usted desee un plano cualquiera de su imagen. Sera necesario crear un control o una constante en la entrada BCG Values para poder modificar la imagen. que se encuentra en Functions>Vision and Motion>Image procesing>Procesing. 2. De nuevo escriba los valores máximos y mínimos de los valores de gris del histograma para este caso Figura 2. A continuación utilice la herramienta IMAQ ExtractSingleColorPlane que extrae un plano simple de la imagen y visualice al mismo tiempo en 2 ventanas diferentes la imagen original y el plano extraído de la imagen. 5. La entrada de la imagen a procesar es Image Scr. Observe los histogramas y concluya. 4. para ello utilice el IMAQ BCGLookup mostrado en la figura 2.12. 9. 8. En el IMAQ ExtractSingleColorPlane coloque un control sobre la entrada color plane. esto le servirá para escoger el plano que quiere ver. que se encuentra en Functions/Vision and Motion/Image procesing/Procesing. Abra una imagen y visualícela de la forma que desee. basándose en el primer ejemplo explicado en este documento.12 IMAQ Equalize[1] Éste subVI redistribuye los valores de los pixeles para linealizar el histograma. Para la ecualización ayúdese de el IMAQ Equalize mostrado en la figura 2. . Luego cree una nueva imagen con el IMAQ create y póngala en image Dst de este subVI.14 IMAQ resample 2. Nota: para la utilización de este subVI la imagen debe estar en escala de grises. Compare las imágenes resultantes y concluya. 3. Escriba los valores máximos y mínimos de los valores de gris según el histograma de cada plano. Visualice los histogramas de cada una de las componentes de la imagen original. Figura 2. 6. Realice la ecualización del histograma y visualice el nuevo histograma con su nueva imagen en el front panel.

5 Entregables Para la siguiente clase.6 BIBLIOGRAFIA [1] LabVIEW User Manual [2] NI VISION Concepts Manual . 2. Modifique la resolución de una imagen pequeña y conviértala en una imagen mucho más grande. Es decir un informe que incluya la información de: Ejemplos resueltos Ejercicios resueltos Respuestas a todas las preguntas planteadas Problemas que se tuvieron con los ejemplos y ejercicios Conclusiones generales 2. el estudiante deberá entregar un documento con la recopilación de lo hecho en esta guía. observe que pasa con el histograma y con la imagen.10.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->