Sunteți pe pagina 1din 8

LABORATORIO 1: FUNDAMENTOS EN LA TEORA DEL TRATAMIENTO DIGITAL DE IMGENES OBJETIVOS Aprender la lectura, escritura y visualizacin de imgenes en Matlab.

Conocer las clases de datos y tipos de imgenes en Matlab. PROCEDIMIENTO A. REPRESENTACION DE IMGENES DIGITALES Una imagen matemticamente est definida como una funcin f(x,y), donde las variables x e y son coordinadas espaciales. La amplitud de la funcin f para cualquier valor de (x,y) es denominado la intensidad de la imagen en dicho punto. Para el caso de imgenes en escala de grises el valor de dicha amplitud de la funcin vendra a ser la intensidad del nivel de gris de la imagen. Y X F(xi,yi)

MxN

Donde cada elemento de la matriz f es denominado pixel. B. LECTURA, VISUALIZACION Y ESCRITURA DE IMGENES EN MATLAB 1) LECTURA DE IMGENES La lectura de imgenes se realiza de la siguiente manera:
Formato del comando. f = imread('filename') Donde: filename : cadena que contiene el nombre completo de la imagen. f : matriz o arreglo que contiene los datos de la imagen. Ejemplo: f = imread(frutas.tif); % Leer imagen. Ahora f es un % arreglo que contiene los % datos de la imagen.

2) VISUALIZACION DE IMGENES La visualizacin de imgenes se realiza de la siguiente manera:


1er Formato del comando. imshow(f) Donde: f: matriz o arreglo que contiene los datos de la imagen. Ejemplo: figure(1) imshow(f)

% Mostrar el arreglo(imagen) f.

2do Formato del comando. imshow(f,[low high]) Descripcin: Usado generalmente para visualizar imgenes en BAJO RANGO DINAMICO de niveles de gris. Muestra como negro todos los valores menores o iguales que low y como blanco todos los valores mayores o iguales que high. Ejemplo: figure(2) imshow(f,[85 170]) % Mostrar en fig2. como "negro" todos % los pixeles de f cuyo valor de gris % es menor o igual a 85, y mostrar % como "blanco" todos los pixeles de f % cuyo valor de gris es mayor o igual % a 170.

3er Formato del comando. imshow(f,[]) Descripcin: Usado igualmente que el 2do formato. En este low sera el mnimo valor de los elementos de la matriz o arreglo f y high sera el mximo valor del los elementos de la matriz o arreglo f.

Ejemplo: figure(1) , f = imread(frutas_bc.tif); imshow(f) figure(2) imshow(f,[]) % Mostrar imagen en fig2. Usando el % segundo formato, donde "low" es % el mnimo valor de f y "high" es % el mximo valor de f.

3) ESCRITURA DE IMGENES La escritura de imgenes se realiza de la siguiente manera


1er Formato del comando. imwrite(f,'filename') Donde: f: matriz o arreglo de la imagen. filename: nombre completo de la imagen a escribir. Ejemplo imwrite(f,'frutas_w.tif');

% Escribir la imagen f. Si no % no se especifica la ruta de % datos, el comando guarda el % archivo en el Directorio de % Trabajo.

2do Formato del comando. Sintaxis del comando imwrite aplicable slo a imgenes JPEG imwrite(f,'filename.jpeg','quality',q) Donde: f: matriz o arreglo de la imagen. filename: nombre completo de la imagen a escribir. quality: parmetro que controla la caracterstica de la imagen de salida. q: valor entero de 0 to 100 (nivel de compresin JPEG) Descripcin: Este tipo de escritura es usado solo para la creacin de imgenes de formato jpg. Un valor bajo de q significa una imagen de baja

calidad, la imagen es comprimida reduciendo el peso del archivo (KB o MB) pero a la vez se degrada la imagen. Ejemplo g = imread('luna.tif'); figure(1), imshow(g) title('Original')

% Leer imagen. % Mostrar imagen en fig1.

figure(2) imwrite(g,'luna50.jpg','quality',50); imshow('luna50.jpg') title('Quality 50') figure(3) imwrite(g,'luna25.jpg','quality',25); imshow('luna25.jpg') title('Quality 25') figure(4) imwrite(g,'luna15.jpg','quality',15); imshow('luna15.jpg') title('Quality 15') figure(5) imwrite(g,'luna5.jpg','quality',5); imshow('luna5.jpg') title('Quality 5') figure(6) imwrite(g,'luna0.jpg','quality',0); imshow('luna0.jpg') title('Quality 0')
Original
Quality 50

% Escribir imagen en % formato jpg con una % calidad del 50%.

% Escribir imagen en % formato jpg con una % calidad del 25%.

% Escribir imagen en % formato jpg con una % calidad del 15%.

% Escribir imagen en % formato jpg con una % calidad del 5%.

% Escribir imagen en % formato jpg con una % calidad del 0%.


Quality 25

100%

50%

25%

494KB

65.2KB

48.4KB

Quality 15

Quality 5

Quality 0

15%

5%

0%

33.4KB

14.8KB

9.74KB

3er Formato del comando. Sintaxis del comando imwrite aplicable slo a imgenes TIF imwrite(f, 'filename.tif', 'compression', 'parameter', ... 'resolution', [colres rowres]) Donde: 'parameter' : 'none' => sin compresin. 'packbits' => compresin LZW o packbit compression (imagen no binaria) 'ccitt' => compresin ccitt (imagen binaria) [colres rowres] : resolucin columna y fila en puntos por unidad. (el valor por defecto es [72 72]) Descripcin: Este tipo de formato de escritura el parmetro a utilizar comnmente ser el de la resolucin, el cual determina la nitidez de la imagen al momento de la impresin. Ejemplo Se tiene una imagen en formato jpg, a una resolucin de 300dpi, de un tamao de 3000x2400 pixels y a una dimensin de 10x8 pulgadas. Se desea almacenar esta imagen en formato tif, sin ninguna compresin, con el nombre cityhall_fixdpi. Adems se desea reducir el tamao de la imagen a 2.5x2 pulgadas manteniendo el tamao de la imagen. Entonces la nueva resolucin de la imagen ser de:

f = imread('cityhall_300dpi.jpg'); figure(1) , imshow(f) imwrite(f,'cityhall_fixdpi.tif','compression','none',... 'resolution',[1200 1200]); figure(2) imshow('cityhall_fixdpi.tif')

CityHall_300dpi.jpg (40%)

CityHall_fixdpi.tif (100%)

El listado de la siguiente tabla muestra los formatos soportados por los comandos de lectura y escritura en Matlab 7.7. Formato Descripcin Extensin Reconocida BMP Windows Bitmap .bmp CUR Windows Cursor Resources .cur FITS Flexible Image Transport System .fts, .fits GIF Graphics Interchange Format .gif HDF Hierarchical Data Format .hdf ICO Windows Icon Resources .ico JPEG Joint Photographic Experts Group .jpg, .jpeg JPEG 2000 Joint Photographic Experts Group .jp2, .jpf, .jpx, j2c, j2k PBM Portable Bitmap .pbm PGM Portable Graymap .pgm PNG Portable Network Graphics .png PNM Portable Any Map .pnm RAS Sun Raster .ras TIFF Tagged Image File Format .tif, .tiff XWD X Window Dump .xwd Soportado solo por el comando imread, pero no por imwrite.
NOTA 1.: Conversin de imgenes de color a escala de grises. Formato del comando. g = rgb2gray(f) Donde: f: matriz o arreglo de la imagen a color. g: matriz equivalente a la imagen original en escala de grises. Ejemplo f = imread('cityhall_fixdpi.tif'); % Leer imagen. figure(1), imshow(g) % Mostrar imagen. title('Original a color')

figure(2) g = rgb2gray(f); % Convertir imagen a escala de grises. imshow(g) % Mostrar imagen. title('Original a color')

C. CLASES DE DATOS Todos los tipos de datos en Matlab son diseados para funcionar como clases en la programacin orientada a objetos. En el caso del procesamiento digital de imgenes se utilizan valores enteros para designar las coordinadas espaciales de una imagen, pero los valores de los pixeles (su intensidad) no estn restringidos a ser solamente enteros ya que por ejemplo despus de haber realizado una operacin de transformacin a una imagen, los valores de los pixeles tomaran ahora valores con punto decimal. El siguiente listado muestra las diferentes clases de datos que soporta Matlab para representar los valores de los pixeles (intensidad).

Las clases uint8 y logical son comnmente usadas en la lectura de imgenes. Las clases de punto flotante como single y double son usadas en operaciones o como resultado de operaciones como la Transformada de Fourier.

D. TIPOS DE IMAGENES Las operaciones ms comunes en el procesamiento de imgenes monocromas se realizan sobre: 1) Imgenes en Escala de Grises Una imagen en escala de grises es una matriz de datos donde cada elemento representa un nivel de gris. Cuando los elementos de una imagen son de clase uint8 entonces sus valores estn en el rango [0 255]. Para valores de clase punto flotante single o double los valores estn escalados en el rango [0 1]. 2) Imgenes Binarias. Una imagen binaria es una matriz de datos con elementos lgicos 0s o 1s, donde 0 significa negro y 1 significa blanco.

ACTIVIDAD Utilizando imgenes de prueba de su eleccin: 1. Describir las caractersticas y/o propiedades de cada imagen, de por lo menos 5 de ellas. 2. Mostrar cada imagen, en escala de grises. 3. Mostrar cada imagen modificando su rango dinmico. 4. Crea imgenes en formato jpg, a partir de las elegidas, de diferentes niveles de compresin. 5. Analiza cada imagen jpg creada, obtn las propiedades de cada una: calidad, tamao, radio de compresin. 6. Realiza una tabla con los datos del paso 6, aade comentarios describiendo lo que se observa en cada imagen creada. 7. Describe una aplicacin prctica o un caso en donde la compresin de imgenes sea de gran utilidad. 8. Crea imgenes en formato tif. Duplica la resolucin de 2 de ellas y reduce la resolucin a la mitad a otras 2. 9. Investigar sobre la conversin de clases de datos de una imagen en Matlab. Mostrar una tabla de conversin as como un ejemplo por cada funcin de conversin.

REFERENCIAS 1. Digital Imagen Processing Using Matlab, Gonzales and Woods.

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