utp pdi_2014-2 lab2

6
PROCESAMIENTO DE IMÁGENES Y VISION ARTIFICIAL HISTOGRAMA, BRILLO Y CONTRASTE, CORRECCION GAMMA, DILATACION, EROSION, APERTURA Y CERRADURA BINARIA Y GRISES, LLENADO Y DETECCION DE REGIONES LABORATORIO No. 2 OBJETIVO: Hallar el umbral de una imagen. Binarizar una imagen. Realizar el zoom de una imagen. Realizar las trasformaciones lógicas entre imágenes. Manipular el histograma de una imagen a color y escala de grises. Ecualizar una imagen mediante el histograma. Aplicar la corrección gamma a una imagen. Manipular el brillo y contraste de una imagen. Dilatar y erosionar una imagen binaria y escala de grises. Aperturar y cerrar una imagen binaria y escala de grises. Detectar y llenar una región de una imagen. RESUMEN TEORICO 1. TRANSFORMACIONES ESPACIALES II. Umbral, binarizado y zoom de una imagen. Transformaciones lógicas entre imágenes. Ver Sesión de Aprendizaje 4 del Blog del curso: utppdiyva.blogspot.com. 2. HISTOGRAMA Y ECUALIZACION, BRILLO Y CONTRASTE, CORRECCION GAMMA. Manipulación del histograma de una imagen, ecualización mediante el histograma, aplicación de la corrección gamma a una imagen: Ver Sesión de Aprendizaje 5 del Blog del curso: utppdiyva.blogspot.com. 3. TRANSFORMACIONES MORFOLOGICAS I. Dilatación y erosión de imágenes binarias. Ver Sesión de Aprendizaje 6 del Blog del curso: utppdiyva.blogspot.com. 4. TRANSFORMACIONES MORFOLOGICAS II. Dilatación y erosión de imágenes binarias. Apertura y cerradura de imágenes grises y binarias. Llenado y detección de regiones en imágenes: Ver Sesión de Aprendizaje 7 del Blog del curso: utppdiyva.blogspot.com.

Upload: jcbpperu

Post on 30-Jun-2015

81 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Utp pdi_2014-2 lab2

PROCESAMIENTO DE IMÁGENES Y VISION ARTIFICIAL

HISTOGRAMA, BRILLO Y CONTRASTE, CORRECCION GAMMA, DILATACION, EROSION, APERTURA Y CERRADURA BINARIA Y GRISES, LLENADO Y

DETECCION DE REGIONES

LABORATORIO No. 2

OBJETIVO:

� Hallar el umbral de una imagen.

� Binarizar una imagen.

� Realizar el zoom de una imagen.

� Realizar las trasformaciones lógicas entre imágenes.

� Manipular el histograma de una imagen a color y escala de grises.

� Ecualizar una imagen mediante el histograma.

� Aplicar la corrección gamma a una imagen.

� Manipular el brillo y contraste de una imagen.

� Dilatar y erosionar una imagen binaria y escala de grises.

� Aperturar y cerrar una imagen binaria y escala de grises.

� Detectar y llenar una región de una imagen.

RESUMEN TEORICO

1. TRANSFORMACIONES ESPACIALES II. Umbral, binarizado y zoom de una imagen. Transformaciones lógicas entre imágenes.

Ver Sesión de Aprendizaje 4 del Blog del curso: utppdiyva.blogspot.com.

2. HISTOGRAMA Y ECUALIZACION, BRILLO Y CONTRASTE, CORRECCION GAMMA. Manipulación del histograma de una imagen, ecualización mediante el histograma, aplicación de la corrección gamma a una imagen:

Ver Sesión de Aprendizaje 5 del Blog del curso: utppdiyva.blogspot.com.

3. TRANSFORMACIONES MORFOLOGICAS I. Dilatación y erosión de imágenes binarias.

Ver Sesión de Aprendizaje 6 del Blog del curso: utppdiyva.blogspot.com.

4. TRANSFORMACIONES MORFOLOGICAS II. Dilatación y erosión de imágenes binarias. Apertura y cerradura de imágenes grises y binarias. Llenado y detección de regiones en imágenes:

Ver Sesión de Aprendizaje 7 del Blog del curso: utppdiyva.blogspot.com.

Page 2: Utp pdi_2014-2 lab2

PROCEDIMIENTO

Desarrollar las funciones y/o programas en Matlab para cada uno de los

procedimientos descritos.

1. Binarizar una imagen escala de grises por los cuatro métodos estudiados.

Ejemplos:

a. Binarización por el umbral igual al centro de la profundidad:

clc close all % Binarizacion de imagenes J=imread('imageng.bmp'); %imshow(J); I=imresize(J, [160 120]); I=rgb2gray(I); [x,y]=size(I); figure, imshow(I); % Conversion de una IG a IB % 1. U=p/2 = 128 for i=1:x

for j=1:y if I(i,j)<128 K(i,j)=0; else K(i,j)=255; end end end K=uint8(K); figure, imshow(K);

b. Binarización por el umbral igual al punto medio de la intensidad mínima y

máxima:

% 2. U=(max-min)/2 n=min(min(I)); m=max(max(I)); u=n+(m-n)/2; for i=1:x for j=1:y if I(i,j)<u L(i,j)=0; else L(i,j)=255;

end end end L=uint8(L); figure, imshow(L);

2. Realizar el zoom a una imagen utilizando la interpolación:

a. del vecino más cercano

b. lineal

c. bicúbica

3. Realizar operaciones lógicas de NOT, OR y AND entre una máscara de color

blanco y otra de color negro.

4. Pasterizar una imagen a 5 niveles:

Ejemplo: %Pasterizacion a 5 niveles %0-51 %52-102 %103-153 %154-204 %205-255 for m=1:x

Page 3: Utp pdi_2014-2 lab2

for n=1:y if ig(m,n)>=0 & ig(m,n)<=51 ig(m,n)=26; end

if ig(m,n)>=52 & ig(m,n)<=102 ig(m,n)=78; end if ig(m,n)>=103 & ig(m,n)<=153 ig(m,n)=129; end if ig(m,n)>=154 & ig(m,n)<=204 ig(m,n)=180; end if ig(m,n)>=205 & ig(m,n)<=255 ig(m,n)=231; end end end figure, imshow(ig);% se muestra la imagen

5. Mostrar el histograma de una imagen.

Ejemplo: F=zeros(1, 256); for i=1:x for j=1:y

v=I(i,j) F(v+1)=F(v+1)+1; end end figure, stem(F);

% verificando la cantidad de pixeles de la imagen

s=0; for z=1:256 s=s+F(z) end

6. Ecualizar una imagen mediante su histograma:

Ejemplo: % ECUALIZACION DE UNA IMAGEN I=[52 55 61 66 70 61 64 73; ... 63 59 55 90 109 85 69 72; ... 62 59 68 113 144 104 66 73; ... 63 58 71 122 154 106 70 69; ... 67 61 68 104 126 88 68 70; ... 79 65 60 70 77 68 58 75; ... 85 71 64 59 55 61 65 83; ... 87 79 69 68 65 76 78 94] [x,y]=size(I) f=zeros(1, 255) % matriz de frecuencias

for i=1:x for j=1:y v=I(i,j) f(v+1)=f(v+1)+1; end end figure, stem(f); figure, imhist(uint8(I),255); cdf=zeros(1,255) for m=1:255 for n=1: m cdf(m)=cdf(m)+f(n) end end cdfmin=min(cdf) P=zeros(8,8)

for i=1:x for j=1:y v=I(i,j) v1=round((cdf(v+1)-cdfmin)/(x*y-cdfmin)*255) P(i,j)=v1 end end I2=imresize(I,[640 640]) P2=imresize(P,[640 640]) figure, imshow(uint8(I2)) figure, imshow(uint8(P2))

7. Manipular el brillo y contraste de una imagen.

Ejemplo:

Page 4: Utp pdi_2014-2 lab2

% Manipulacion del brillo de una imagen escala de grises ic=imread('rostro.bmp');

figure, imshow(ic); ig=rgb2gray(ic); figure, imshow(ig); ig1=ig+50; figure, imshow(ig1); ig2=ig-50; figure, imshow(ig2); ig3=ig*0.5; figure, imshow(ig3); ig4=ig*1.5; figure, imshow(ig4);

8. Realizar la corrección gamma a una imagen.

Ejemplo: function gama(g) I=imread('animalesg.bmp'); figure, imshow(I) [x,y]=size(I) for i=1:x for j=1:y I(i,j)=uint8(255*(double(I(i,j))/255)^(1/g)); end end figure, imshow(I)

9. Dilatación de imágenes escala de grises.

Ejemplo: function B=dilatacion(A) % A es la variable que contiene la imagen figure, imshow(A); [H W Z]=size(A); B=zeros(H, W); K=[1 1 1; 1 1 1; 1 1 1]; for f=(1+1):(H-1) for c=(1+1):(W-1) suma=0; for ff=-1:1 for cc=-1:1 suma=suma+K(ff+2,cc+2)*A(f+ff,c+cc)/255; end; end; if suma>=1 B(f,c)=255; else B(f,c)=0; end; end; end; figure, imshow(uint8(B))

10. Erosión de imágenes escala de grises.

Ejemplo: function B=erosion(A) % A es la variable que contiene la imagen binaria figure, imshow(A); [H W Z]=size(A); B=zeros(H, W); K=[1 1 1; 1 1 1; 1 1 1]; for f=(1+1):(H-1) for c=(1+1):(W-1) suma=0; for ff=-1:1 for cc=-1:1 suma=suma+K(ff+2,cc+2)*A(f+ff,c+cc)/255; end;

Page 5: Utp pdi_2014-2 lab2

end; if suma==sum(sum(K)) B(f,c)=255; else B(f,c)=0; end; end; end; figure, imshow(uint8(B));

11. Dilatación de imágenes binarias.

12. Erosión de imágenes binarias.

13. Apertura de imágenes binarias.

14. Cerradura de imágenes binarias

INFORME FINAL

El Informe de Laboratorio es un documento gráfico en lo posible y es redactado en

Word con el desarrollo del laboratorio.

Niveles de Informe:

• Primer nivel: Observaciones. Imágenes con comentarios cortos. Redactar al ir

desarrollando el laboratorio. (Requiere desarrollar el laboratorio).

• Segundo nivel: Conclusiones. Redactar al terminar el laboratorio. (Requiere

haber desarrollado el laboratorio).

• Tercer Nivel: Recomendaciones. (Requiere la lectura de otras fuentes).

Dentro de su Carpeta Personal del Dropbox crear una carpeta para el Laboratorio 2

con el siguiente formato:

PDI_PaternoM_L2

Esta carpeta debe contener el Informe de Laboratorio, los códigos, las fuentes y

recursos utilizados.

Las fuentes deben conservar el nombre original de archivo y se debe agregar en su

nombre “_L2” al final.

CUESTIONARIO

1. Muestre los resultados de los procedimientos y ejercicios del laboratorio.

2. Binarizar una imagen por cuatro métodos. Comparar con la función de matlab para este fin.

3. Realizar el zoom de una imagen utilizando tres interpolaciones. Comparar con la función de matlab para este fin.

4. Realizar operaciones lógicas de NOT, OR y AND entre una máscara de color

blanco y otra de color negro. Comparar con la función de matlab para este fin.

5. Pasterizar una imagen escala de grises a:

a. 4 niveles. b. 10 niveles.

Page 6: Utp pdi_2014-2 lab2

c. 20 niveles.

6. Pasterizar una imagen a colores a:

a. 4 niveles. b. 10 niveles. c. 20 niveles.

7. Mostrar el histograma de una imagen escala de grises. Comparar con la función de matlab para este fin.

8. Mostrar el histograma de una imagen a color. Comparar con la función de matlab para este fin.

9. Manipular el brillo de una imagen escala de grises por dos métodos. Comparar con la función de matlab para este fin.

10. Manipular el brillo de una imagen a colores por dos métodos. Comparar con la función de matlab para este fin.

11. Manipular el contraste de una imagen escala de grises por cuatro métodos de un valor umbral. Comparar con la función de matlab para este fin.

12. Manipular el contraste de una imagen a colores por cuatro métodos de un valor umbral. Comparar con la función de matlab para este fin.

13. Manipular el contraste de una imagen escala de grises por dos métodos de más de un valor umbral. Comparar con la función de matlab para este fin.

14. Realizar la corrección gamma para varios valores de gamma de una imagen. Comparar con la función de matlab para este fin.

15. Dilatar imágenes de escala de grises. Comparar con la función de matlab para este fin.

16. Erosionar imágenes escala de grises. Comparar con la función de matlab para este fin.

17. Dilatar imágenes binarias. Comparar con la función de matlab para este fin.

18. Erosionar imágenes binarias. Comparar con la función de matlab para este fin.

19. Aperturar imágenes binarias. Comparar con la función de matlab para este fin.

20. Clausurar imágenes binarias. Comparar con la función de matlab para este fin.

21. Detectar fronteras (bordes). Comparar con la función de matlab para este fin.

22. Rellenar regiones. Comparar con la función de matlab para este fin.

23. En cada procedimiento y ejercicio mostrar sus observaciones, conclusiones y recomendaciones.

FUNCIONES DE MATLAB:

imdilate, strel, imerode, imopen, imclose.