utp va_sl4_procesamiento digital de imagenes con matlab iii

35
Procesamiento de Imágenes y Visión Artificial (PS02) Facultad de Ingeniería Electrónica y Mecatrónica (PS02) Laboratorio: 4 Ing. José C. Benítez P. Procesamiento Digital de Imágenes con MatLab II

Upload: jcbenitezp

Post on 13-Jul-2015

2.268 views

Category:

Documents


0 download

TRANSCRIPT

Procesamiento de Imágenesy Visión Artificial

(PS02)

Facultad de Ingeniería Electrónica y Mecatrónica

(PS02)

Laboratorio: 4

Ing. José C. Benítez P.

Procesamiento Digital de Imágenes con MatLab II

Procesamiento de imágenes con Matlab� Conceptos de las imágenes

� Lectura y escritura de archivos de imágenes.

� Acceso a pixel y planos en las imágenes.

� Sub muestreo de imágenes

� Tipos de datos de los elementos de una imagen

� Operaciones con imágenes

� Lógicas

� NOT

� AND

OR

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.

� OR

� XOR

� Aritméticas:

� Suma

� Escalado

� Producto

� Desplazamiento

� Espaciales:

� Convolución

� Correlación

� 3D gris2

Conceptos de las imágenes

• En MatLab una imagen a escala de grises

es representada por medio de una matriz

bidimensional de m x n elementos en donde

n representa el numero de píxeles de

ancho y m el numero de píxeles de largo.

Imagen en escala de grises

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 3

ancho y m el numero de píxeles de largo.

• El elemento v11 corresponde al elemento de

la esquina superior izquierda (ver figura),

• Cada elemento de la matriz de la imagen

tiene un valor de 0 (negro) a 255 (blanco).

Conceptos de las imágenes

• Por otro lado una imagen de color RGB

(la mas usada para la VA, además de

ser para MatLab la opción default) es

representada por una matriz

tridimensional m x n x p, donde m y n

Imagen en color

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 4

tridimensional m x n x p, donde m y n

tienen la misma significación que para

el caso de las imágenes de escala de

grises mientras p representa el plano,

que para RGB puede ser 1 para el rojo,

2 para el verde y 3 para el azul.

• La figura muestra detalles de estos

conceptos.

Conceptos de las imágenes

• Para leer imágenes contenidas en un archivo

al ambiente de MatLab se utiliza la función

imread, cuya sintaxis es:

imread(’nombre del archivo.ext’)

Lectura y escritura de imágenes a través de archivo

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 5

• Donde nombre del archivo es una cadena de

caracteres conteniendo el nombre completo

de la imagen y ext su extensión.

• Al ejecutar el comando se irán desplazándose

por CW el contenido de la imagen.

• Los formatos de imágenes que soporta

MatLab son los mostrados en la tabla.

Conceptos de las imágenes

• Para manipular una imagen solo tiene que

usarse la función imread y asignar su

resultado a una variable que representará a

la imagen ( de acuerdo a la estructura, para

representar escala de grises y para RGB.

Lectura y escritura de imágenes a través de archivo

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 6

• Ejemplo: Para usar el archivo logo.jpg se

tendría que escribir en línea de comandos:

>> imagen=imread(’logo.jpg’);

con ello la imagen contenida en el archivo

logo.jpg quedará contenida en la variable

imagen.

Conceptos de las imágenes

• Una vez que la imagen esta contenida

en una variable (imagen) de matlab es

posible utilizar las funciones para

procesar la imagen.

Lectura y escritura de imágenes a través de archivo

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 7

• Por ejemplo, una función que permite

encontrar el tamaño de la imagen es

size(variable)

• > >[m, n]=size(imagen);

en donde m y n contendrán los valores

de las dimensiones de la imagen.

Conceptos de las imágenes

Lectura y escritura de imágenes a través de archivo

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 8

Conceptos de las imágenes

Lectura y escritura de imágenes a través de archivo

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 9

Conceptos de las imágenes

• Para grabar el contenido de una imagen en un archivo se

utiliza la función:

imwrite(variable, ’nombre del archivo’);

variable representa la variable que contiene a la imagen y

Lectura y escritura de imágenes a través de archivo

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 10

nombre del archivo el nombre del archivo con su extensión.

• Ejemplo. La variable imagen que contiene la imagen

logo.jpg nos interesa grabar en el archivo logocolor.jpg:

>> imwrite(imagen, ’logocolor.jpg’) ;

> > [m, n]=size(imagen);

m y n contendrán los valores de las dimensiones de la

imagen.

Conceptos de las imágenes

Lectura y escritura de imágenes a través de archivo

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 11

Conceptos de las imágenes

• Después que realizamos un procesamiento

con la imagen, es necesario mostrar el

resultado obtenido.

• La función imshow(variable) permite

desplegar la imagen en una ventana en el

Lectura y escritura de imágenes a través de archivo

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 12

desplegar la imagen en una ventana en el

ambiente de trabajo de matlab.

• Ejemplo. Si la variable a desplegar es

imagen en la línea de comandos se escribirá:

>> imshow(imagen);

obtendríamos la imagen variable imagen que

corresponde al archivo logo.jpg.

Conceptos de las imágenes

• El acceso a píxel de una imagen es una de las

operaciones mas comunes en VA y en matlab

es sencillo; se debe indexar el píxel de interés

en la estructura de la imagen.

• Ejemplo. Tenemos una imagen imagenbn en

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 13

• Ejemplo. Tenemos una imagen imagenbn en

escala de grises. Para obtener su valor de

intensidad en el píxel especificado por m=100 y

n=100 solo se escribe:

>> imagenbn(100,100)

ans =

251

Conceptos de las imágenes

• Para cambiar el valor del píxel

(100,100) en imagenbn a negro, se

le debe asignar a este pixel el valor

de 0, asi:

>> imagebn(100,100) = 0;

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 14

>> imagebn(100,100) = 0;

• Para verificar:

>> imshow(imagenbn);

Conceptos de las imágenes

• Las imágenes a escala de grises estas solo tienen un

plano, constituido por la matriz m x n que contiene los

valores de intensidad para cada índice.

• Las imágenes a color cuentan con mas de un plano.

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 15

• En las imágenes RGB estas cuentan con 3 planos uno

para cada color que representa.

• Ejemplo. La imagen RGB contenida en la variable

imagenc es la del archivo logo.jpg, para obtener cada uno

de los planos que la componen, se escribe:

>> planoR=imagenc( :, :,1) ;

>> planoG=imagenc( :, :,2) ;

>> planoB=imagenc( :, :,3) ;

Conceptos de las imágenes

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 16

Conceptos de las imágenes

• Para manipular un píxel de una imagen a color

RGB, la imagen tendrá un valor para cada uno

de sus planos R, G y B.

• Ejemplo. La imagen RGB logo.jpg contenida en

la variable imagenc. Paraobtener el valor del

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 17

la variable imagenc. Paraobtener el valor del

píxel m=100 y n=100 para cada uno de los

diferentes planos R, G y B.

• Se debe escribir:

>> valorR=imagenc(100,100,1) ;

>> valorG=imagenc(100,100,2) ;

>> valorB=imagenc(100,100,3) ;

• Lo cual dará como resultado tres valores.

Conceptos de las imágenes

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 18

Conceptos de las imágenes

• De igual forma que con imágenes en escala

de grises podemos modificar el valor de los

píxeles a otro color mediante el cambio de su

valor en cada uno de sus respectivos planos.

• Ejemplo. Considerando logo.jpg en imagenc:

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 19

• Ejemplo. Considerando logo.jpg en imagenc:

>> imagenc(440, 250,1) = 255;

>> imagenc(440, 250, 2) = 255;

>> imagenc(440, 250, 3) = 255;

• Lo cual dará como resultado tres valores.

Conceptos de las imágenes

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 20

Conceptos de las imágenes

• A veces es necesario saber el color o la intensidad de gris (el

valor del píxel) de forma interactiva, es decir tener la

posibilidad de seleccionar un píxel en una región y obtener el

valor de este.

• Esta posibilidad es ofrecida por la función impixel, la cual

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 21

• Esta posibilidad es ofrecida por la función impixel, la cual

interactivamente entrega el valor (uno o tres) del píxel

seleccionado que aparezca en la ventana desplegada por la

función imshow.

• El formato de esta función es: valor = impixel;

• Donde valor representa un escalar, en el caso de que la

imagen sea a escala de grises o bien un vector de 1 x 3 con

los valores correspondientes a cada uno de los planos RGB.

Conceptos de las imágenes

• Para utilizar esta función es necesario antes, desplegar

la imagen con la función imshow.

• Una vez desplegada se llama a la función y cuando el

cursor del ratón este sobre la superficie de la imagen

cambiara a una +.

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 22

cambiara a una +.

• Cuando se presione el botón izquierdo del ratón se

seleccionara el píxel, el cual podemos seleccionar otra

vez en caso de que se allá cometido un error a la hora

de posicionar el ratón, ya que la función seguirá

activada hasta que se presione la tecla de enter o

pulsamos el botón derecho del mouse.

• La figura muestra una imagen de la operación descrita.

Conceptos de las imágenes

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 23

Conceptos de las imágenes

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 24

Conceptos de las imágenes

Acceso a pixels y planos en las imágenes

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 25

Operaciones con imágenes

� Lógicas

� NOT

� AND

� OR

� XOR

� Aritméticas:

� Suma

� Escalado

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 26

� Escalado

� Producto

� Desplazamiento

� Espaciales:

� Convolución

� Correlación

� Convolución y correlación

� 3D gris

Operaciones con imágenes

� Descargar 03 imágenes a colores RGB de 160x120 pixels de

16 bits. (ICG1.bmp, ICG2.bmp e ICG3.bmp)

� Dibujar 03 imágenes a colores RGB de 160x120 pixels de

16 bits. (ICD1.bmp, ICD2.bmp e ICD3.bmp) . De franjas

horizontales, franjas verticales y tipo tablero de ajedrez.

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 27

� Descargar 03 imágenes escala de grises de 160x120 pixels

de 16 bits. (IGG1.bmp, IGG2.bmp e IGG3.bmp)

� Dibujar 07 imágenes escala de grises de 160x120 pixels de

16 bits (IGD1.bmp, IGD2.bmp, IGD3.bmp, IGD4.bmp,

IGD5.bmp, IGD6.bmp y IGD7.bmp ). De degrade horizontal

completo, degrade vertical completo, degrade circular

completo, blanco, negro, gris 40%, y tablero ajedrez b/n.

Operaciones con imágenes

� Convertir las imágenes de colores a escala de grises.

ICG1.bmp, ICG2.bmp e ICG3.bmp

a

ICG1g.bmp, ICG2g.bmp e ICG3g.bmp

Serán las imágenes: A, B y C respectivamente.

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 28

Serán las imágenes: A, B y C respectivamente.

� Convertir las imágenes de colores a escala de grises.

ICD8.bmp, ICD16.bmp e ICD32.bmp

a

ICG8g.bmp, ICG16g.bmp e ICG32g.bmp

Serán las imágenes: D, E y F respectivamente.

Operaciones con imágenes

La imágenes de escala de grises:

IGG1.bmp, IGG2.bmp e IGG3.bmp

Serán las imágenes: G, H e I respectivamente.

IGD1.bmp, IGD2.bmp, IGD3.bmp, IGD4.bmp,

IGD5.bmp e IGD6.bmp, IGD7.bmp y IGD8.bmp.

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 29

IGD5.bmp e IGD6.bmp, IGD7.bmp y IGD8.bmp.

Serán las imágenes: J, K, L, M, N, O, P y Q respectivamente.

Operaciones con imágenes

� Realizar las siguientes operaciones lógicas:

NOT A B OR J C AND K D XOR L

NOT E F OR M G AND N H XOR O

NOT I

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 30

� Realizar las siguientes operaciones aritméticas:

A + J 1.75 x B C * K D: d[n-8]

E + L 0,75 x F G*M H: h[n-16]

I + N

Mostrar la imagen original y la resultante. Comentar resultados.

Operaciones con imágenes

� Realizar las siguientes operaciones espaciales:

Si M1={1,0,0; 0,1,0; 0,0,1} y M2={-1,0,1; -1,0,1; -1,0,1}

1. Hallar la convolución de M1 y M2 con:

A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P y Q

2. Hallar la correlación de M1 y M2 con:

A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P y Q

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 31

A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P y Q

3. Hallar la convolución y correlación de M1 con:

A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P y Q

4. Hallar la convolución y correlación de M2 con:

A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P y Q

Mostrar la imagen original y la resultante. Comentar resultados.

Operaciones con imágenes

Ejercicio :

Graficar en 3D los valores de grises de una imagen a

color.

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 32

Informe de Laboratorio 4

� Indicaciones sobre el Informe de Laboratorio:

� Se presentará con el desarrollo de todos los ejercicios

desarrollados y preguntas de esta presentación.

� Debe ser básicamente un documento gráfico en lo posible.

Lo mas importante de un informe de laboratorio son los

conclusiones, comentarios y observaciones.

33Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.

conclusiones, comentarios y observaciones.

� Se presenta impreso y en formato digital (en USB).

� Adjuntar en USB:

� Los códigos (archivos *.m) con los comentarios solicitados.

� Los archivos de imágenes obtenidos.

� Las fuentes, si han utilizado fuentes adicionales.

Presentación

� Todas las fuentes, archivos utilizados 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_L4

Si adjunta fuentes adicionales, debe conservar el nombre

34Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.

� Si adjunta fuentes adicionales, debe conservar el nombre

original y agregar _tema.

� Revisar permanentemente el blog del Curso:

http://utppdiyva.blogspot.com.

� Las Tareas que no cumplan las indicaciones

no serán recepcionados por el profesor.

Agradecimiento

Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P. 35