Está en la página 1de 6

VISUALIZACION Y MANIPULACION DE IMÁGENES

IMAQ – LabVIEW
David Ciro Taborda
Instrumentación
2009

Introducción
Existen una gran diversidad de situaciones experimentales en las que es muy difícil
crear mecanismos de recopilación y almacenamiento de datos, como en experimentos de
impacto, crecimiento poblacional de bacterias, movimiento de estructuras orgánicas,
estudio de estructuras microscópicas, etc. Las limitaciones para el desarrollo de dichos
sistemas a veces relacionada con la escala, o la complejidad de los movimientos ha
impulsado la creación de potentes algoritmos de reconocimiento de imágenes, que
proveen ingeniosas soluciones a dichos problemas.

IMAQ es un aditamento de LabVIEW que contiene una gran cantidad de algoritmos que
permiten manipular imágenes y obtener información de estas, además contiene codecs
de interpretación de algunos formatos de video, que permiten descomponer el video en
fotogramas para realizar el análisis de las imágenes en función del tiempo, teniendo así
una forma sencilla de medir trayectorias y velocidades. IMAQ puede, con facilidad
suplir una gran cantidad de costosos instrumentos, además de las ofrece posibilidades de
desarrollo de otras herramientas y algoritmos.
La Imágen matemáticamente

Cuando observamos una imagen en una pantalla o una fotografía, lo que estamos
observando es un conjunto grande (dependiendo de la resolución de la imagen) de
puntos, coloreados de acuerdo a una regla de representación, o a la forma en que afectan
a una CCD las ondas de luz visible que pasan por una lente. La manera obvia,
computacionalmente hablando, de almacenar una imagen será entonces definir una
matriz cuyas entradas sean todos los posibles colores observables. De esta manera
definamos el conjunto de imágenes de k colores con resolución m × n como:

ζ k (m, n) := {A ∈ N m × N n / Ai , j < k ,0 ≤ i < m,0 ≤ j < n} (1)

Donde N hace referencia a los números naturales (incluido el cero) y k es el número


de colores que se pueden representar en las entradas de la matriz. Aunque existan
distintos formatos de imagen, todos deben almacenarla de una forma congruente con la
definición de la ecuación (1).
De esta manera una imagen puede entenderse como una señal bidimensional
discretizada, por lo cual es posible realizar a esta procesos de filtrado o transformación
de espacios.

Visualización de Imágenes en LabVIEW

Lo primero que debemos aprender es como se carga una imagen en LabVIEW y que
formato tiene esta en el interior del programa.
Como sabemos existen distintos tipos de formato de imagen digital, los cuales difieren
por la forma en que almacenan la información, la taza de compresión, la agregación de
un canal de existencia de objeto, etc. Esto, sin embargo no le importa al programa de
manipulación de imágenes, ya que este tiene su propio tipo de formato de imagen, con
cualidades mas útiles para un experimentador que para un diseñador gráfico.

Luego de instalar IMAQ


Vision en la
computadora aparecerán
nuevas opciones en los
paneles de la interfaz de
bloques; la mayoría de
esas utilidades se
encuentran contenidas
en el cuadro “vision and
motion” que se halla al
desplegar las pestañas
mediante el botón
derecho del Mouse en el
entorno de bloques.
Entre los conjuntos de herramientas podemos encontrar:

Vision utilities
Contiene las herramientas
necesarias para la
creación de una imagen
tipo IMAQ, su
representación en
pantalla, la extracción de
zonas de interés, el
calibrado de las escalas,
opciones de manipulación
del color, herramientas de
liberado de memoria, etc.

Image procesing
Contiene algoritmos de
trasformación conforme,
de reconocimiento, de
análisis, filtrado, proce-
samiento de color
operadores de señales
bidimensionales, etc.

Machine Vision
Contiene algoritmos
dedicados enteramente a
la búsqueda de patrones
en la imagen, conteo de
manchas, e incluso
reconocimiento de
números en indicadores
analógicos o digitales
reales.

Imaq USB
En este podemos
encontrar herramientas de
inicialización de cámaras
USB, lo cual nos
permitirá realizar la
adquisición de imágenes
directamente desde
IMAQ, manipulando la
velocidad de adquisición.
Cargando una imagen en LabVIEW

Antes de cargar una imagen en LabVIEW a


través de IMAQ es necesario crear para esta
un espacio en la memoria disponible para los
procesos, para esto disponemos de la
herramienta “IMAQ Create” ubicada en
Vision and Motion > Vision Utilities > Image
Management > IMAQ Create. Es necesario asignarle un nombre a la imagen, el cual
servirá para procesos de identificación posterior. También es posible seleccionar el tipo
de archivo que se cargará, y el espesor del margen que se crea alrededor de la imagen.
Este instrumento virtual produce a su salida una referencia a la imagen (New Image)
que es reconocida por la mayoría de las utilidades de IMAQ.

Ahora que se ha creado una


alocación en la memoria para la
imagen es posible realizar el
proceso de lectura del disco, es
decir; ya hay un lugar en la
memoria de LabVIEW donde
se puede almacenar
temporalmente la imagen. Para
el proceso de lectura de la
imagen emplearemos la herramienta “IMAQ ReadFile”, que se halla en: Vision and
Motion > Vision Utilities > Files > IMAQ ReadFile. Dicha herramienta requiere la
dirección de memoria (en el disco) donde se halla la imagen (File Path), la referencia a
la imagen creada para la manipulación interna de IMAQ (Image) lograda a través de
“IMAQ Create”, y algunas opciones sobre el modo de cargar el archivo que no son
esenciales. Este instrumento produce una referencia a la imagen inicial (Image Out),
pero llena con la información copiada desde el archivo de imagen, y algunas secuencias
de comandos con instrucciones sobre la lectura e interpretación de la imagen.

Como ya se ha creado una


imagen de tipo LabVIEW es
posible emplear la
herramienta de visualización
de IMAQ, que puede ser
encontrada en: Vision and
Motion > Vision Utilities >
External Display > IMAQ
WindDraw, la cual requiere
esencialmente una referencia
a la imagen (Image), en este caso la que fue creada en “IMAQ ReadFile”, a dicha
imagen puede asignársele un nombre que aparecerá como encabezado de esta, y además
es posible abrir varias ventanas de imagen simultáneamente, por lo cual dado el caso se
puede asignar la imagen a determinada ventana (Window Number) empleando
simplemente un número entero.
Un programa destinado únicamente a
cargar y mostrar una imagen en
pantalla se vería como el de la figura
contígua. A la salida de “IMAQ
WindDraw” en el conector “Image
Out (duplicate)” se halla una copia a
la referencia de la imagen que
permite enviarla a otros procesos.
Para liberar el espacio en la memoria
temporal del programa es necesario
destruir la referencia a la imagen, lo
cual se logra con la herramienta
“IMAQ Dispose” que se halla en:
Vision and Motion > Vision Utilities
> Image Management > IMAQ
Dispose.

Descomponiendo un Video en Fotogramas

Una de las utilidades mas importantes de IMAQ radica en la posibilidad de


descomponer un video en imágenes tipo LabVIEW para realizar sobre ellas
independientemente procesos de identificación; esto nos permite estudiar el movimiento
de objetos en función del tiempo para realizar cálculos de velocidad, posición, etc.
La función es de fácil de implementar, y lo mejor es que permite un gran control del
proceso de descomposición.

Para realizar dicho proceso es necesario que nos familiaricemos con las herramientas de
control de archivos de video tipo avi que se encuentran en Vision and Motion > Vision
Utilities > FILES > AVI.

La herramienta “IMAQ AVI Open” nos


permite crear una referencia a un archivo de
video (Avi Refnum), similar a las referencias
de tipo imagen estudiadas anteriormente. Dicha referencia contiene toda la información
sobre el video, y es como si fuera un “video tipo LabVIEW”. El instrumento requiere la
dirección de memoria (en el disco) del video .avi que se desea estudiar.

Para crear ciclos de reproducción


de video es necesario tener
información esencial sobre este,
como el número de imágenes que
lo componen (Number of Frames),
el formato de las imágenes (Image
Type), y los datos de compresión, o filtros que contenga la imagen (Frame Data).
Toda esta información puede ser accedida mediante la herramienta “IMAQ AVI Get
Info”, la cual requiere únicamente la referencia al video tipo LabVIEW (Avi Refnum).
Este instrumento como los demás, produce a su salida una copia de la referencia que
puedes ser usada por otras aplicaciones.
Luego de haber abierto el
archivo .avi y haber obtenido la
información del mismo, es
posible extraer de este sus
fotogramas o frames, empleando
únicamente la referencia de video y la herramienta “IMAQ AVI Read Frame”. Sin
embargo es necesario haber creado antes una espacio temporal en la memoria para la
imagen (Image) que se extraerá, lo cual se logra mediante un procedimiento similar al
descrito en la parte inicial del documento; también se debe introducir el número del
frame a extraer (Frame Number).
Este instrumento produce una copia a la referencia de la imagen (Image Out), pero llena
con la información del frame extraido del video, tambien entrega datos de compresión y
filtros (Data Out), y una copia a la referencia del video (Avi Refnum (duplicate)).

Así como con las referencias a la imagen,


siempre es necesario destruir la sesión de video
cuando esta no se requiera, para así liberar el
espacio en la memoria temporal. Sin embargo
esta función es distinta a la de destruir la referencia a la imagen, ya que LabVIEW no
crea una copia temporal del video (sería computacionalmente costoso), sinó que
establece una lazo temporal a la dirección de memoria donde se halla el archivo. Sin
embargo, la referencia a la imagen creada para almacenar el frame si funciona de la
manera usual, y debe ser destruida luego de haberse empleado.

Un programa simple que reproduce un video mostrando en secuencia las imágenes que
lo componen es el siguiente:

También podría gustarte