Leer y mostrar una imagen en IDL
Los siguientes comandos le permiten leer y
mostrar una imagen. Se supone que la imagen está en el formato "gif". Existen técnicas similares para otros formatos
de imagen.
Escriba los siguientes comandos (en rojo) en
la línea de comandos de IDL o guárdelos en un archivo de comandos y ejecute con
el comando @. Sustituya la ruta a su archivo de imagen en el comando READ_GIF.
El primer paso consiste en leer un archivo de
imagen y almacenar los resultados en una matriz: A. Se leerá un archivo llamado
velero.gif y se almacenará en una matriz A.
IDL>
READ_GIF,'C:\Documents and Settings\Administrador\IDLWorkspace\Default\velero.gif',A
% Compiled
module: READ_GIF.
% Loaded
DLM: GIF.
Si el comando se ejecuta habrá una matriz A
en su entorno IDL, sino deberá corregir la ruta de acceso al archivo imagen.
Una vez cargada la matriz de la imagen se
podrá obtener su tamaño y el tipo de imagen con el comando help,
A.
IDL>
help,A
A BYTE = Array[253,
382]
Calcule el número de bytes que se necesitan
para almacenar A en un archivo. Compare su respuesta con el tamaño del archivo
sailboat.gif. ¿Por qué la respuesta no es exactamente la misma?
En este caso la
imagen esta en blanco y negro, se utiliza un byte para almacenar cada pixel, así
que para calcular el número de bytes necesarios para almacenar la imagen entera
sólo necesitamos calcular el número de pixeles de la imgen,
esto se hace multiplicando las columnas por las filas de la imgen.:
Columnas * filas =
253 * 382 = 96646 píxeles tiene la imagen velero.gif y bytes que son necesarios
para almacenarla.
Por otro lado, el
tamaño del archivo velero.gif es de 12338 bytes
La razón de que sea
menor el verdadero tamaño del archivo de la imagen es porque el formato gif, al igual que otro formatos de
imágenes, comprime los datos para almacenar la imagen velero.
Ahora para mostrar la imagen, en primer lugar
se crea una ventana del mismo tamaño que la matriz:
IDL> WINDOW,1,XSIZE=253,YSIZE=382,TITLE='VELERO'
Y después se utiliza el comando TV para
visualizarla en la ventana anteriormente creada:
IDL> tv,A
Lease sobre los procedimientos TV y TVSCL en la ayuda en
línea de IDL.