Sunteți pe pagina 1din 5

2.

ADQUISICION DE IMÁGENES POR LABVIEW

2.1 Objetivos:

2.1.1General
• Adquirir una imagen desde el disco duro a labview.

2.1.2Específicos
• Grabar imágenes en los diferentes formatos permitidos por 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 INTRODUCCION:
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


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

El IMAQ create, que se encuentra en 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, posee varias propiedades, acá solamente se trabajo la
del tipo de imagen y se le incluyo el nombre de prueba. 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, verde, azul)
HSL o HSI (U32) (5): 32 bits por píxel (hue, saturation, luminance or intensity)
RGB (U64) (6): 64 bits por píxel (rojo, verde, azul):

Una imagen en escala de grises esta compuesta por un plano simple de píxeles. 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 -∞ ∞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. Luego de realizar la transformada de una imagen en
escala de grises a una imagen compleja, se pueden realizar operaciones en el dominio de la
frecuencia de la imagen.
Cada píxel en una imagen compleja es codificado en dos datos de 32 bits cada uno, que
representan la parte real e imaginaria del píxel complejo.
Se creo además en el panel frontal un Menú ring (figura 2.5). Se encuentra en Controls>
Express>Text Controls que es un menú donde se pueden seleccionar varias opciones.
Todos estos formatos fueron definidos en las propiedades del Menú ring para que el usuario
las seleccione según sus necesidades.
El IMAQ Readfile, se encuentra en Functions>Vision and Motion>Vision utilities>Files, es
una sub función de labview que lee la imagen del usuario en los formatos jpeg, bmp, png, tiff, o
aipd, y convierte la lectura de píxeles en la imagen antes definida en el IMAQ create.

Figura 2.3 IMAQ Readfile


Para seleccionar la imagen se necesita un File Path ctrl, que se encuentra en Controls>
Express>Text Controls, acá se deberá poner la dirección completa de la imagen en el disco
luego la muestra en el Image display que se encuentra en Controls> Vision en el panel
frontal .El panel frontal es mostrado en la Figura 2.1, y el diagrama de bloques en la Figura 2.2.

Se visualiza además el histograma de la imagen, para ello se coloco un IMAQ Histograph que
se encuentra en Functions>Vision and Motion>Image procesing>Analisis, este retorna los
datos del histograma listos para graficarlos, para verlos se coloca un Waveform graph que se
encuentra en Controls> Express>Graph indicators, acá se pueden visualizar la grafica del
histograma.

Figura 2.4 IMAQ Histograph

2.3.2 Ejemplo 2

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.

Figura 2.5 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. También se
coloco un menú ring que servirá para seleccionar el tipo de imagen aprovechando las
características del IMAQ create, explicado anteriormente.

Figura 2.6 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. Estos elementos se pueden observar en la Figura 2.7
Figura 2.7 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. 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. Se introdujo un label


constante con un nombre que se escogió aleatoriamente. Cabe decir que también se ha podido
crear un control para que el usuario sea quien le coloque el nombre a la imagen.

Border size: En este campo se especifica el ancho del borde de la imagen en pixeles. Por
defecto el ancho de este borde es 3 que fue el que se decidió dejar.

New image: Es “la salida” del subVI. Esta, irá conectada a la entrada del siguiente subVI.

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. De sus puertos virtuales se usara:

Image: Aquí es donde va conectada la salida del IMAQ create, para leer la imagen del usuario.

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.

File path: es donde se pone la dirección en memoria de la imagen que se desea abrir.

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.
Este subVI se encuentra en Functions> Vision and Motion> Vision utilities> External
Display.

Figura 2.8 IMAQ WindDraw:

IMAQ Write JPEG File: Este es el subVI que permite guardar la imagen en un archivo en
formato JPEG. Cabe decir que existen subVI para guardar imágenes en los demás formatos
soportados por labview. Se encuentra en Functions> Vision and Motion> Vision utilities >
Files,

Figura 2.9 IMAQ Write JPEG File


Filepath: Simplemente sirve para seleccionar la ruta del archivo donde se quiere guardar la
imagen. En este caso esta definida como una constante, 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.
Se puede guardar en cualquier otro formato seleccionando de la barra de herramientas del
diagrama de bloques el subVI que contenga el formato a utilizar.

2.4 Ejercicio

1. Abra una imagen y visualícela en un IMAQ WindDraw


2. A continuación utilice la herramienta IMAQ ExtractSingleColorPlane que extrae un
plano simple de la imagen, a su entrada colóquele la salida de la imagen del IMAQ
WindDraw y al la salida de este coloque otro IMAQ WindDraw, renombre los IMAQ
WindDraw para poder visualizarlos al tiempo
3. En el IMAQ ExtractSingleColorPlane coloque un control sobre la entrada color plane,
esto le servirá para escoger el plano que quiere ver.
4. Finalmente guarde en un archivo tipo jpeg el plano que desee de su imagen,
nombrando el archivo con el nombre del plano.
5. Ahora realice el primer ejemplo explicado en este documento (ejemplo 1 Programa
para cargar imágenes en Labview)
6. Realice la ecualización de el histograma y visualice el nuevo histograma con su nueva
imagen en el front panel, para la ecualización ayúdese de el IMAQ Equalize que se
encuentra en Functions>Vision and Motion>Image procesing>Procesing, este
subVI redistribuye los valores de los píxeles para linealizar el histograma. Cree una
nueva imagen con el IMAQ create y pórgala en image dst de este subVI. Observe los
histogramas y concluya.
7. Se modificara ahora el brillo y el contraste de la imagen, para ello realice el primer
ejemplo explicado en este documento (ejemplo 1 Programa para cargar imágenes en
Labview). Utilice el IMAQ BCGLookup Equalize que se encuentra en
Functions>Vision and Motion>Image procesing>Procesing, este modifica el brillo,
el contraste y la luminosidad de la imagen. Para el procesamiento coloque un control
en la entrada BCG Values molifíquelos y observe que sucede con el histograma.
Compare las imágenes resultantes y concluya. Nota: para la utilización de este subVI la
imagen debe estar en escala de grises.

2.5 BIBLIOGRAFIA

LabVIEW User Manual


NI VISION Concepts Manual
Prentice Hall Image Processing with LabVIEW™ and IMAQ™ Vision
González y Woods. Digital Image Processing. 2ª edición. Prentice Hall.
R. Molina. Introducción al procesamiento y análisis de imágenes digitales

S-ar putea să vă placă și