Professional Documents
Culture Documents
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
1 2
(1)
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.
Para poder seleccionar el tipo de imagen que se desea, se coloco un control en la entrada
Image Type del IMAQ create, para ello en el diagrama de bloques se ubicó el puntero del
mouse sobre esta entrada, se dio click derecho y se selecciono create-control (ver figura 2.4),
esto crea un menú en el panel frontal con todas los tipos de imágenes que se pueden
seleccionar. Para poder desarrollar el ejemplo se eligió una imagen en Escala de grises (U8)(0)
(Grayscale(U8)) en la entrada del image type.
La salida New Image contiene la referencia del espacio creado para la nueva imagen, por ello
es conectada a la entrada Image del IMAQ Readfile (línea 1).
Figura 2.4 Creando un control
(1) (2)
Para seleccionar la imagen a abrir se necesita un File Path ctrl, que se encuentra en el panel
frontal en Controls> Express>Text Controls, acá se deberá poner la dirección completa de la
imagen en el disco. Al crear el File Path ctrl en el panel frontal, este crea una caja llamada
Path en el diagrama de bloques, esta será la caja que se conecta a la entrada File Path del
IMAQ Readfile. 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) .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 el diagrama de bloques en Functions>Vision and Motion>Image
procesing>Analisis, este retorna los datos del histograma listos para graficarlos, para ello se
coloca en su entrada Image la imagen deseada, en este caso la imagen leída desde el IMAQ
Readfile a través de su salida Image out (Línea 2). Para ver la grafica de este se coloca un
Waveform graph que se encuentra en el panel frontal en Controls> Express>Graph
indicators. Acá UNICAMENTE se podrá visualizar la grafica del histograma de imágenes en
escala de grises, por ello en la entrada Image Type del IMAQ create.se eligió Graysccale (U8).
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, HSL, HSV, HSI) según se desee.
(2)
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.
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.
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
1 2
Image type: Es el mismo menú ring del image type que se creo en el front panel.
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 el diagrama de bloques en Functions> Vision and Motion>
Vision utilities> External Display.
Image: Es la entrada donde se referencia la imagen que se quiere mostrar, allí se conecto el
Image Out del IMAQ Readfile.
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.
La imagen se puede seguir usando gracias a la salida Image Out del IMAQ WindDraw.
(2) (3)
IMAQ Write File 2: Este es el subVI que permite guardar la imagen en un archivo en formato
deseado. Para ello se selecciona el formato con la flecha que aparece en la parte de abajo del
subVI. Se encuentra en el diagrama de bloques en Functions> Vision and Motion> Vision
utilities > Files.
Image: es la referencia a la imagen que se quiere guardar, esta se conecta al image out del
IMAQ WindDraw:
File Path: es la referencia en el disco donde se quiere guardar la nueva imagen, acá se uso un
File Path constante donde se escribió la referencia en el disco,
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, su uso es igual, sin embargo se debe
escoger el formato desde un principio.
(3)
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. 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.
Ejemplo 4
En este ejemplo se cambiara la resolución espacial de una imagen
1 2 3 4
3 4
Figura 2.14 IMAQ resample
Éste subVI redistribuye los valores de los pixeles para linealizar el histograma.
2.5 Entregables
- Ejemplos resueltos
- Ejercicios resueltos
- Respuestas a todas las preguntas planteadas
- Problemas que se tuvieron con los ejemplos y ejercicios
- Conclusiones generales
2.6 BIBLIOGRAFIA