Utp va_sl4_procesamiento digital de imagenes con matlab iii
-
Upload
jcbenitezp -
Category
Documents
-
view
2.268 -
download
0
Transcript of Utp va_sl4_procesamiento digital de imagenes con matlab iii
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.