utp va_sl2 procesamiento de imagenes con mat_lab i

19
Procesamiento de Imágenes y Visión Artificial (PS02) Laboratorio: 2 Ing. José C. Benítez P. Procesamiento de Imágenes con MatLab I

Upload: jcbenitezp

Post on 03-Jul-2015

4.081 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Utp va_sl2 procesamiento de imagenes con  mat_lab i

Procesamiento de Imágenes

y Visión Artificial

(PS02)

Laboratorio: 2

Ing. José C. Benítez P.

Procesamiento

de Imágenes con MatLab I

Page 2: Utp va_sl2 procesamiento de imagenes con  mat_lab i

Procesamiento de Imágenes y Visión Artificial - Prof. Ing. José C. Benítez P. 2

� Objetivo

� Generar imágenes de escala de grises.

� Tipo de dato de los pixeles de las imágenes.

� Histograma

� Ajuste de imágenes

� Binarización de la imagen

� Informe

� Presentación

Procesamiento Digital de Imágenes con MatLab I

Page 3: Utp va_sl2 procesamiento de imagenes con  mat_lab i

Objetivo

� Generar imágenes en escala de grises y a

colores manualmente.

� Realizar conversiones de imágenes a color a

escala de grises mediante algoritmos

clásicos: Lightness, Luminosity y Average

� Al final de la clase el alumno debe presentar

un documento word con el desarrollo y

adjuntar sus fuentes en USB.

3Procesamiento de Imágenes y Visión Artificial - Prof. Ing. José C. Benítez P.

Page 4: Utp va_sl2 procesamiento de imagenes con  mat_lab i

Generar Imágenes de escalas de gris

4Procesamiento de Imágenes y Visión Artificial - Prof. Ing. José C. Benítez P.

1. Generar 08 imágenes diferentes de contenido manualmente:

• Una de 76,800 pixels, de dimensiones 320x240 de escala

de grises.

• La otra de 38,400 pixels, de dimensiones 160x120 de

escala de grises

Cada una de:

a. de 8 bits.

b. de 16 bits.

c. de 32 bits.

d. de 64 bits.

Ejemplo. Tablero de ajedrez. (imagen generada

manualmente).

Page 5: Utp va_sl2 procesamiento de imagenes con  mat_lab i

Generar Imágenes de escalas de gris

5Procesamiento de Imágenes y Visión Artificial - Prof. Ing. José C. Benítez P.

2. Obtener 08 imágenes de internet diferentes de contenido:

• Una de 76,800 pixels, de dimensiones 320x240 de escala

de grises.

• La otra de 38,400 pixels, de dimensiones 160x120 de

escala de grises

Cada una de:

a. de 8 bits.

b. de 16 bits.

c. de 32 bits.

d. de 64 bits.

Nota. Las imágenes deben ser de mapas de bits y de

formato BMP.

Page 6: Utp va_sl2 procesamiento de imagenes con  mat_lab i

Tipo de dato de los pixeles de las imágenes

6Procesamiento de Imágenes y Visión Artificial - Prof. Ing. José C. Benítez P.

Todos los pixeles de una imagen son de tipo entero sin

signo de 8, 16, 32 o 64 bits.

Para convertir cada uno de los pixeles de una imagen a

enteros sin signo de 8, 16, 32 o 64 bits:

E = uint8(I)

E = uint16(I)

E = uint32(I)

E = uint64(I)

Para generar imágenes en escala de grises de 8 bits:

I1 = zeros(10,20,’uint8’)

I2 = 255 * ones(10,10,’uint8’)

X = [I1 I2]

imshow(X)

Page 7: Utp va_sl2 procesamiento de imagenes con  mat_lab i

Entrada y salida de imágenes

3. Con las imágenes realizar lo siguiente:

Grabar con otro nombre para conservar el original.imwrite(I,filename)

Leer los archivos creados para verificar.I = imread('your_image.bmp');

Mostrar todas las imágenes en una ventana para

verificar su contenido.subplot(2,2,1), imshow(I1);

subplot(2,2,2), imhist(I2);

subplot(2,2,3), imshow(I3);

subplot(2,2,4), imhist(I4);

7Procesamiento de Imágenes y Visión Artificial - Prof. Ing. José C. Benítez P.

Page 8: Utp va_sl2 procesamiento de imagenes con  mat_lab i

Propiedades de las imágenes

4. Con todas las imágenes realizar lo siguiente:

Verificar el tamaño de cada imagen[Rows, Cols, RGB] = size(I)

Verificar el tipo de dato de cada imagenC = class(I)

Verificar datos de cada imagenimfinfo(‘imagen1.bmp’)

8Procesamiento de Imágenes y Visión Artificial - Prof. Ing. José C. Benítez P.

Page 9: Utp va_sl2 procesamiento de imagenes con  mat_lab i

Conversión de imagen de colores a

escala de grises

5. Obtener 08 imágenes de internet diferentes de contenido:

• Una de 76,800 pixels, de dimensiones 320x240 de color.

• La otra de 38,400 pixels, de dimensiones 160x120 de

color.

Cada una de:

a. de 8 bits.

b. de 16 bits.

c. de 32 bits.

d. de 64 bits.

9Procesamiento de Imágenes y Visión Artificial - Prof. Ing. José C. Benítez P.

Page 10: Utp va_sl2 procesamiento de imagenes con  mat_lab i

Para operar los pixeles de las imágenes

Recordar que:

Para convertir cada pixel a double

D = double(I)

Para convierte cada pixel de una imagen a enteros

sin signo de 8 y 16 bits respectivamente:

E = uint8(I)

E = uint16(I)

10Procesamiento de Imágenes y Visión Artificial - Prof. Ing. José C. Benítez P.

Page 11: Utp va_sl2 procesamiento de imagenes con  mat_lab i

Transformaciones básicasCon todas las imágenes realizar lo siguiente:

Cambio de tamaño: Reducir cada imagen a la mitadI = imread('imagen.ext');

Mostrar la imagen original, la imagen reducida, y el

resultado de imresize(I, 0.5) en una ventanasubplot(3,1,1), imshow(I1);

subplot(3,1,2), imshow(I2);

subplot(3,1,3), imshow(I3);

Rotación:Rotar cada imagen 60 grados.

Mostrar la imagen original, la imagen reducida, y el

resultado de imrotate(I, 60) en una ventanasubplot(3,1,1), imshow(I1);

subplot(3,1,2), imshow(I2);

subplot(3,1,3), imshow(I3);

11Procesamiento de Imágenes y Visión Artificial - Prof. Ing. José C. Benítez P.

Page 12: Utp va_sl2 procesamiento de imagenes con  mat_lab i

HistogramaCon todas las imágenes realizar lo siguiente:

Histograma de una imagen:I = imread('imagen.ext');

Mostrar la imagen original, el histograma, y el

resultado de imhist(I) en una ventanasubplot(3,1,1), imshow(I1);

subplot(3,1,2), imshow(I2);

subplot(3,1,3), imshow(I3);

Ecualización de una imagen:I = imread('imagen.ext');

Mostrar la imagen original, la ecualizada, y el resultado

de histeq(I) en una ventanasubplot(3,1,1), imshow(I1);

subplot(3,1,2), imshow(I2);

subplot(3,1,3), imshow(I3);

12Procesamiento de Imágenes y Visión Artificial - Prof. Ing. José C. Benítez P.

0 50 100 150 200 250

0

500

1000

1500

0 50 100 150 200 250

0

500

1000

1500

2000

Page 13: Utp va_sl2 procesamiento de imagenes con  mat_lab i

Ajuste de imágenes

Con todas las imágenes realizar:

Ajuste de brillo de imágenesI = imread('imagen.ext');

Mostrar la imagen original, la brillante en un

25%, y el resultado de imadjust(G,[0 1],[0.2 1],1)

y los tres histogramas en una ventana :subplot(3,2,1), imshow(I1);

subplot(3,2,2), imshow(I2);

subplot(3,2,3), imshow(I3);

subplot(3,2,4), imshow(I1);

subplot(3,2,5), imshow(I2);

subplot(3,2,6), imshow(I3);

13Procesamiento de Imágenes y Visión Artificial - Prof. Ing. José C. Benítez P.

0 50 100 150 200 250

0

500

1000

1500

0 50 100 150 200 250

0

500

1000

1500

2000

Page 14: Utp va_sl2 procesamiento de imagenes con  mat_lab i

Ajuste de imágenes

Con todas las imágenes realizar:

Ajuste de contraste de imágenesI = imread('imagen.ext');

Mostrar la imagen original, la brillante en un 25%, y el

resultado de imadjust(G,[0.3 1],[0 1],1); y los tres

histogramas en una ventana :subplot(3,2,1), imshow(I1);

subplot(3,2,2), imshow(I2);

subplot(3,2,3), imshow(I3);

subplot(3,2,4), imshow(I1);

subplot(3,2,5), imshow(I2);

subplot(3,2,6), imshow(I3);

14Procesamiento de Imágenes y Visión Artificial - Prof. Ing. José C. Benítez P.

0 50 100 150 200 250

0

500

1000

1500

0 50 100 150 200 250

0

2000

4000

6000

8000

10000

Page 15: Utp va_sl2 procesamiento de imagenes con  mat_lab i

Conversión de imagen de color a escala

de grises

� Con cada imagen mediante cada uno de los algoritmos de

conversión de imágenes de colores a escala de grises

(Lightness, Luminosity y Average), realizar las

conversiones.

� Mostrar en una ventana la imagen original, las 03 escalas

de grises y el resultado de aplicar rgb2gray(I) en Matlab:

subplot(3,2,1), imshow(I1);

subplot(3,2,2), imhist(I2);

subplot(3,2,3), imshow(I3);

subplot(3,2,4), imshow(I4);

subplot(3,2,5), imhist(I5);

� Compare y comente los resultados.

15Procesamiento de Imágenes y Visión Artificial - Prof. Ing. José C. Benítez P.

Page 16: Utp va_sl2 procesamiento de imagenes con  mat_lab i

Binarización de la imagen

Con todas imágenes de cada formato

realizar lo siguiente:

Binarización.I = imread('imagen.ext');

Mostrar la imagen original, la binaria con umbral

60% del valor máximo de pixel, y el resultado de

im2bw(I,150/256) y los tres histogramas en una

ventana :subplot(3,2,1), imshow(I1);

subplot(3,2,2), imshow(I2);

subplot(3,2,3), imshow(I3);

subplot(3,2,4), imshow(I1);

subplot(3,2,5), imshow(I2);

subplot(3,2,6), imshow(I3);

16Procesamiento de Imágenes y Visión Artificial - Prof. Ing. José C. Benítez P.

Page 17: Utp va_sl2 procesamiento de imagenes con  mat_lab i

Informe

17Procesamiento de Imágenes y Visión Artificial - Prof. Ing. José C. Benítez P.

� Terminado el laboratorio en la semana siguiente se

debe presentar el informe de laboratorio completo

con todas las fuentes y el informe en USB; y sólo el

informe impreso en folder de color AZUL.

� Presentar el informe de laboratorio con el

desarrollo de todos los ejercicios y preguntas de

esta clase.

� El informe debe ser básicamente un documento

grafico en lo posible.

� Lo mas importante de un informe de laboratorio sus

conclusiones, recomendaciones y observaciones.

Page 18: Utp va_sl2 procesamiento de imagenes con  mat_lab i

Presentación

18Procesamiento Digital de Señales - Prof. Ing. Jose C. Benitez P.

� Todas las fuentes y el Informe deben presentarse en USB,

dentro de una carpeta que lleve las iniciales del curso, sus

Apellidos, guion bajo y luego el numero de laboratorio.

Ejemplo:

PDI_BenitezPalacios_L2

� Si se utilizan fuentes, deben conservar el nombre original y

agregar _tema.

� Las Tareas que no cumplan las indicaciones

no serán recepcionados por el profesor.

Page 19: Utp va_sl2 procesamiento de imagenes con  mat_lab i

Procesamiento de Imágenes y Visión Artificial - Prof. Ing. José C. Benítez P. 19

Agradecimiento

http://utppdiyva.blogspot.com