deber matlab

Upload: alex-tipantuna

Post on 14-Jan-2016

229 views

Category:

Documents


0 download

DESCRIPTION

MATLAB

TRANSCRIPT

DEPARTAMENTO DE ELCTRICA Y ELECTRNICACARRERA DE INGENIERIA EN ELECTRNICA E INSTRUMENTACIN

PROCESAMIENTO DIGITAL DE SEALES

UNIDAD II

TEMA: PROCESAMIENTO DE IMGENES CON MATLAB

NOMBRE: ALEX TIPANTUA

FECHA DE ENTREGA: 11/06/2015

OBJETIVOS:Conocer los conceptos bsicos para la manipulacin de las imgenes digitales con la ayuda de MATLAB.

FUNDAMENTO TERICO

BMP (Bitmap = Mapa de bits) Ha sido muy utilizado porque fue desarrollado para aplicaciones Windows. La imagen se forma mediante una parrilla de pxeles. El formato BMP no sufre prdidas de calidad y por tanto resulta adecuado para guardar imgenes que se desean manipular posteriormente. Ventaja: Guarda gran cantidad de informacin de la imagen. Inconveniente: El archivo tiene un tamao muy grande.

GIF (Graphics Interchange Format = Formato de Intercambio Grfico) Ha sido diseado especficamente para comprimir imgenes digitales. Reduce la paleta de colores a 256 colores como mximo (profundidad de color de 8 bits). Admite gamas de menor nmero de colores y esto permite optimizar el tamao del archivo que contiene la imagen. Ventaja: Es un formato idneo para publicar dibujos en la web. Inconveniente: No es recomendable para fotografas de cierta calidad ni originales ya que el color real o verdadero utiliza una paleta de ms de 256 colores.

JPG-JPEG (Joint Photographic Experts Group = Grupo de Expertos Fotogrficos Unidos) A diferencia del formato GIF, admite una paleta de hasta 16 millones de colores. Es el formato ms comn junto con el GIF para publicar imgenes en la web. La compresin JPEG puede suponer cierta prdida de calidad en la imagen. En la mayora de los casos esta prdida se puede asumir porque permite reducir el tamao del archivo y su visualizacin es aceptable. Es recomendable utilizar una calidad del 60-90 % del original. Cada vez que se modifica y guarda un archivo JPEG, se puede perder algo de su calidad si se define cierto factor de compresin. Las cmaras digitales suelen almacenar directamente las imgenes en formato JPEG con mxima calidad y sin compresin. Ventaja: Es ideal para publicar fotografas en la web siempre y cuando se configuren adecuadamente dimensiones y compresin. Inconveniente: Si se define un factor de compresin se pierde calidad. Por este motivo no es recomendable para archivar originales.

TIF-TIFF (Tagged Image File Format = Formato de Archivo de Imagen Etiquetada) Almacena imgenes de una calidad excelente. Utiliza cualquier profundidad de color de 1 a 32 bits. Es el formato ideal para editar o imprimir una imagen. Ventaja: Es ideal para archivar archivos originales. Inconveniente: Produce archivos muy grandes.

PNG (Portable Network Graphic = Grfico portable para la red) Es un formato de reciente difusin alternativo al GIF. Tiene una tasa de compresin superior al formato GIF (+10%) Admite la posibilidad de emplear un nmero de colores superior a los 256 que impone el GIF. Debido a su reciente aparicin slo es soportado en navegadores modernos como IE 4 o superior.

PSD. Es el formato por defecto del editor de imgenes Adobe Photoshop y por tanto es un formato adecuado para editar imgenes con este programa y otros compatibles. Admite millones de colores, capas, canales.

RAW. Formato en bruto. Esto quiere decir que contiene todos los pxeles de la imagen captada, tal y como se han tomado. Es el formato que ofrece la mayor calidad fotogrfica y suele ser admitido por cmaras de gama media y alta (rflex, y compactas) indicadas para fotgrafos aficionados avanzados y profesionales.

PROCEDIEMIENTO1. Seleccionar tres imgenes en tonos de grises en diferentes formatos.

FORMATO: PNG FORMATO: JPG

FORMATO: BMP

2. Cargarlas y visualizarlas como imagen y como matriz; indicar como vara los valores de los elementos de la matriz y sus caractersticas y grabarlas con otro nombre.

Comandos a utilizarse:Nos permite leer una imagen.>> f = imread (img1.jpg) La imagen a leer debe encontrarse en la carpeta de trabajo de Matlab.Los formatos de imagen soportados por Matlab son: TIFF, JPEG, GIF, BMP, PNG, XWD.Matriz de una imagen>> [M,N] = size (f) M = nmero de filas, N = nmero de columnas >> imshow (f, G): muestra la imagen f en pantalla donde G especifica el rango de intensidades. Si omitimos G, se muestra la imagen con 256 niveles de gris por defecto. >> impixel(f,i,j): mediante este comando podemos acceder al pixel de coordenadas (i,j) de la imagen f. >> whos f : Nos permite ver la informacin adicional de la imagen: nombre, tamao, bytes y clase.>> imwrite (f, C:\ESPE\5to nivel\PROCESAMIENTO\img1.tif) : Permite guarda la imagen f con nombre imagen2.tif en C:\imagenes.

Cargadas y se puede visualizar como imagen

CODIFICACIN EN MATLAB:clcf=imread('img1.png');g=imread('img2.jpg');h=imread('img3.bmp'); subplot(2,2,1); imshow(f)title('Imagen DH1')subplot(2,2,2); imshow(g)title('Imagen DH2')subplot(2,2,3.5); imshow(h)title('Imagen DH3')impixel(f,4,4)impixel(h,10,20) whos fwhos gwhos h imwrite(f,'D:\ESPE\Niveles\5to\PROCESAMIENTO\dh1.bmp');imwrite(h,'D:\ESPE\Niveles\5to\PROCESAMIENTO\dh2.bmp');f1=imread('dh1.bmp');h1=imread('dh2.bmp');subplot(1,2,1); imshow(f1)title('Imagen dh1.bmp')subplot(1,2,2); imshow(h1)title('Imagen dh2.bmp') [M,N]=size(f)[M1,N1]=size(f1)

Como matriz # de filas y columnas:

CODIFICACIN EN MATLAB:clcf=imread('img2.jpg');f_R=f(:,:,1);f_G=f(:,:,2);f_B=f(:,:,3);subplot(2,2,1); imshow(f)title('DESCENSO')subplot(2,2,2); imshow(f_R)title('Descenso R')subplot(2,2,3); imshow(f_G)title('Descenso G')subplot(2,2,4); imshow(f_B)title('Descenso B') [M,N]=size(f)[MR,NR]=size(f_R)[MG,NG]=size(f_G)[MB,NB]=size(f_B)Caractersticas de la imagen:Mediante el comando whos x nos permite ver las caractersticas de la imagen el nombre y sus respectivos atributos.

Grabarla con otro nombre:Para grabarla con otro nombre utilizamos imwrite esto nos permite escribir a la imagen con otro nombre y con otro formato.

imwrite(f,'D:\ESPE\Niveles\5to\PROCESAMIENTO\dh1.bmp');imwrite(g,'D:\ESPE\Niveles\5to\PROCESAMIENTO\dh2.bmp');imwrite(h,'D:\ESPE\Niveles\5to\PROCESAMIENTO\dh3.bmp');

Variacin de una matriz

Valores variados de la matriz

CODIFICACIN EN MATLAB:clcf=imread('Lucas.jpg');f_R=f(:,:,1);f_G=f(:,:,2);f_B=f(:,:,3);subplot(2,2,1); imshow(f)title('MI PERRITO LUCAS')subplot(2,2,2); imshow(f_R)title('Lucas R')subplot(2,2,3); imshow(f_G)title('Lucas G')subplot(2,2,4); imshow(f_B)title('Lucas B')

%**********Matriz**************[M,N]=size(f)[MR,NR]=size(f_R)[MG,NG]=size(f_G)[MB,NB]=size(f_B)

3. Clases de datos de la matriz de una imagen.El tipo de dato matriz, que contendr una imagen puede ser de varios tipos (segn el tipo de dato de cada pixel):

-double: Doble precisin, nmeros en punto flotante que varan en un rango aproximado de -10308 a 10308 (8 bytes por elemento) - uint8: Enteros de 8 bits en el rango de [0,255] (1 byte por elemento)- uint16: Enteros de 16 bits en el rango de [0, 65535] (2 bytes por elemento)- uint32: Enteros de 32 bits en el rango de [0, 4294967295] (4 bytes por elemento)- int8: Enteros de 8 bits en el rango de [-128, 127] (1 byte por elemento) - int16: Enteros de 16 bits en el rango de [-32768, 32767] (2 bytes por elemento) - int32: Enteros de 32 bits en el rango de [-2147483648,2147483647] (4 bytes por elemento) - logical: Los valores son 0 1 (1 bit por elemento)

Conversin entre tipos de datos Para ciertas operaciones es necesario convertir una imagen de su tipo original a otro tipo de imagen que facilite su procesamiento. Algunos mtodos:

4. Convertir las imgenes en diferentes tipos de clases y visualizarlas, comentar sobre este punto. Conversin mediante el comando rgb2gray() este comando crea una imagen de intensidad en escala de gris a partir de una imagen RGB.

CODIFICACIN EN MATLAB:clcf=imread('img1.png');g2=rgb2gray(f);subplot(1,2,1);imshow(f);title('Imagen RGB');subplot(1,2,2);imshow(g2);title('Imagen Escala Gris');

Conversin mediante el comando gray2ind () este comando crea una imagen de indexada a partir de una imagen en escala grises.

CODIFICACIN EN MATLAB:clcf=imread('img1.png');g2=gray2ind(f);subplot(1,2,1);imshow(f);title('Imagen GRIS');subplot(1,2,2);imshow(g2);title('Imagen INDEXADA');

Conversin mediante el comando im2bw () y imrotate(x,m) estos comando crea una imagen binaria a partir de una imagen en escala grises y la rotamos 45.

CODIFICACIN EN MATLAB:clcf=imread('img3.bmp');g2=im2bw(f);ro=imrotate(g2, 45);subplot(1,2,1);imshow(f);title('Imagen GRIS');subplot(1,2,2);imshow(ro);title('Imagen Rotada-Binaria');

COMENTARIOMediante estos comandos disponibles en MATLAB podemos realizar varios cambios en tipo de imagen que se desee, existen varios tipos de datos para algunos de ellos im2bw(Nos permite convertir a una imagen binaria), gray2ind, etc. Esto nos permite dar una mejor resolucin, reflejados y varias funciones en s nos permite mejorar la resolucin de una imagen cuando sea necesario.

5. Generar imagines blanco y negro de 100x100 en dos formatos cada una.BLANCA

Formato .tiff: Formato .bmp:

CODIFICACIN EN MATLAB:for i=1:100 for j=1:100 F(i,j)=1; endend imshow(F); title('Imagen Blanca');

NEGRA

Formato .bmp Formato .png

CODIFICACIN EN MATLAB:for i=1:100 for j=1:100 F(i,j)=0; endend imshow(F); title('Imagen Negra');

BLANCA CON FRANJAS NEGRAS HORIZONTALES

Formato .tiff Formato .jpg

CODIFICACIN EN MATLAB:clear allk=5;for i=1:k:100 a=mod(i,2); b=0; while(b