Sei sulla pagina 1di 35

Facultad de Ingeniera Electrnica y Mecatrnica

Procesamiento de Imgenes
y Visin Artificial
(PS02)

Laboratorio: 4
Procesamiento Digital de Imgenes con MatLab II

Ing. Jos C. Bentez P.

Procesamiento de imgenes con Matlab




Conceptos de las imgenes


 Lectura y escritura de archivos de imgenes.
 Acceso a pixel y planos en las imgenes.
 Sub muestreo de imgenes
 Tipos de datos de los elementos de una imagen
Operaciones con imgenes

Lgicas
 NOT
 AND
 OR
 XOR

Aritmticas:
 Suma
 Escalado
 Producto
 Desplazamiento

Espaciales:
 Convolucin
 Correlacin
 3D gris
Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.

Conceptos de las imgenes


Imagen en escala de grises
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 pxeles de
ancho y m el numero de pxeles 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).

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

Conceptos de las imgenes


Imagen en color

Por otro lado una imagen de color RGB


(la mas usada para la VA, adems de
ser para MatLab la opcin default) es
representada por una matriz
tridimensional m x n x p, donde m y n
tienen la misma significacin que para
el caso de las imgenes 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.

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

Conceptos de las imgenes


Lectura y escritura de imgenes a travs de archivo

Para leer imgenes contenidas en un archivo


al ambiente de MatLab se utiliza la funcin
imread, cuya sintaxis es:
imread(nombre del archivo.ext)
Donde nombre del archivo es una cadena de
caracteres conteniendo el nombre completo
de la imagen y ext su extensin.
Al ejecutar el comando se irn desplazndose
por CW el contenido de la imagen.
Los formatos de imgenes que soporta
MatLab son los mostrados en la tabla.
Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.

Conceptos de las imgenes


Lectura y escritura de imgenes a travs de archivo

Para manipular una imagen solo tiene que


usarse la funcin 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.
Ejemplo: Para usar el archivo logo.jpg se
tendra que escribir en lnea de comandos:
>> imagen=imread(logo.jpg);
con ello la imagen contenida en el archivo
logo.jpg quedar contenida en la variable
imagen.

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

Conceptos de las imgenes


Lectura y escritura de imgenes a travs de archivo

Una vez que la imagen esta contenida


en una variable (imagen) de matlab es
posible utilizar las funciones para
procesar la imagen.
Por ejemplo, una funcin que permite
encontrar el tamao de la imagen es
size(variable)
> >[m, n]=size(imagen);
en donde m y n contendrn los valores
de las dimensiones de la imagen.

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

Conceptos de las imgenes


Lectura y escritura de imgenes a travs de archivo

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

Conceptos de las imgenes


Lectura y escritura de imgenes a travs de archivo

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

Conceptos de las imgenes


Lectura y escritura de imgenes a travs de archivo

Para grabar el contenido de una imagen en un archivo se


utiliza la funcin:
imwrite(variable, nombre del archivo);
variable representa la variable que contiene a la imagen y
nombre del archivo el nombre del archivo con su extensin.
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 contendrn los valores de las dimensiones de la
imagen.
Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.

10

Conceptos de las imgenes


Lectura y escritura de imgenes a travs de archivo

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

11

Conceptos de las imgenes


Lectura y escritura de imgenes a travs de archivo

Despus que realizamos un procesamiento


con la imagen, es necesario mostrar el
resultado obtenido.
La funcin imshow(variable) permite
desplegar la imagen en una ventana en el
ambiente de trabajo de matlab.
Ejemplo. Si la variable a desplegar es
imagen en la lnea de comandos se escribir:
>> imshow(imagen);
obtendramos la imagen variable imagen que
corresponde al archivo logo.jpg.
Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.

12

Conceptos de las imgenes


Acceso a pixels y planos en las imgenes

El acceso a pxel de una imagen es una de las


operaciones mas comunes en VA y en matlab
es sencillo; se debe indexar el pxel de inters
en la estructura de la imagen.
Ejemplo. Tenemos una imagen imagenbn en
escala de grises. Para obtener su valor de
intensidad en el pxel especificado por m=100 y
n=100 solo se escribe:
>> imagenbn(100,100)
ans =
251

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

13

Conceptos de las imgenes


Acceso a pixels y planos en las imgenes

Para cambiar el valor del pxel


(100,100) en imagenbn a negro, se
le debe asignar a este pixel el valor
de 0, asi:
>> imagebn(100,100) = 0;
Para verificar:
>> imshow(imagenbn);

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

14

Conceptos de las imgenes


Acceso a pixels y planos en las imgenes

Las imgenes 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 imgenes a color cuentan con mas de un plano.
En las imgenes 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) ;
Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.

15

Conceptos de las imgenes


Acceso a pixels y planos en las imgenes

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

16

Conceptos de las imgenes


Acceso a pixels y planos en las imgenes

Para manipular un pxel 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
pxel 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.
Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.

17

Conceptos de las imgenes


Acceso a pixels y planos en las imgenes

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

18

Conceptos de las imgenes


Acceso a pixels y planos en las imgenes

De igual forma que con imgenes en escala


de grises podemos modificar el valor de los
pxeles a otro color mediante el cambio de su
valor en cada uno de sus respectivos planos.
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.

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

19

Conceptos de las imgenes


Acceso a pixels y planos en las imgenes

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

20

Conceptos de las imgenes


Acceso a pixels y planos en las imgenes

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


valor del pxel) de forma interactiva, es decir tener la
posibilidad de seleccionar un pxel en una regin y obtener el
valor de este.
Esta posibilidad es ofrecida por la funcin impixel, la cual
interactivamente entrega el valor (uno o tres) del pxel
seleccionado que aparezca en la ventana desplegada por la
funcin imshow.
El formato de esta funcin 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.
Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.

21

Conceptos de las imgenes


Acceso a pixels y planos en las imgenes

Para utilizar esta funcin es necesario antes, desplegar


la imagen con la funcin imshow.
Una vez desplegada se llama a la funcin y cuando el
cursor del ratn este sobre la superficie de la imagen
cambiara a una +.
Cuando se presione el botn izquierdo del ratn se
seleccionara el pxel, el cual podemos seleccionar otra
vez en caso de que se all cometido un error a la hora
de posicionar el ratn, ya que la funcin seguir
activada hasta que se presione la tecla de enter o
pulsamos el botn derecho del mouse.
La figura muestra una imagen de la operacin descrita.
Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.

22

Conceptos de las imgenes


Acceso a pixels y planos en las imgenes

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

23

Conceptos de las imgenes


Acceso a pixels y planos en las imgenes

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

24

Conceptos de las imgenes


Acceso a pixels y planos en las imgenes

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

25

Operaciones con imgenes




Lgicas
 NOT
 AND
 OR
 XOR
Aritmticas:
 Suma
 Escalado
 Producto
 Desplazamiento
Espaciales:
 Convolucin
 Correlacin
 Convolucin y correlacin
 3D gris

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

26

Operaciones con imgenes


 Descargar 03 imgenes a colores RGB de 160x120 pixels de
16 bits. (ICG1.bmp, ICG2.bmp e ICG3.bmp)
 Dibujar 03 imgenes 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.
 Descargar 03 imgenes escala de grises de 160x120 pixels
de 16 bits. (IGG1.bmp, IGG2.bmp e IGG3.bmp)
 Dibujar 07 imgenes 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.
Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.

27

Operaciones con imgenes




Convertir las imgenes de colores a escala de grises.


ICG1.bmp, ICG2.bmp e ICG3.bmp
a
ICG1g.bmp, ICG2g.bmp e ICG3g.bmp
Sern las imgenes: A, B y C respectivamente.

 Convertir las imgenes de colores a escala de grises.


ICD8.bmp, ICD16.bmp e ICD32.bmp
a
ICG8g.bmp, ICG16g.bmp e ICG32g.bmp
Sern las imgenes: D, E y F respectivamente.
Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.

28

Operaciones con imgenes


La imgenes de escala de grises:
IGG1.bmp, IGG2.bmp e IGG3.bmp
Sern las imgenes: G, H e I respectivamente.
IGD1.bmp, IGD2.bmp, IGD3.bmp, IGD4.bmp,
IGD5.bmp e IGD6.bmp, IGD7.bmp y IGD8.bmp.
Sern las imgenes: J, K, L, M, N, O, P y Q respectivamente.

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

29

Operaciones con imgenes


 Realizar las siguientes operaciones lgicas:
NOT A
B OR J
C AND K D XOR L
NOT E
F OR M G AND N H XOR O
NOT I
 Realizar las siguientes operaciones aritmticas:
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.

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

30

Operaciones con imgenes


 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 convolucin 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 correlacin de M1 y M2 con:
A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P y Q
3. Hallar la convolucin y correlacin de M1 con:
A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P y Q
4. Hallar la convolucin y correlacin 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.
Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.

31

Operaciones con imgenes


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 presentacin.

Debe ser bsicamente un documento grfico en lo posible.
Lo mas importante de un informe de laboratorio son los
conclusiones, comentarios y observaciones.

Se presenta impreso y en formato digital (en USB).
Adjuntar en USB:

Los cdigos (archivos *.m) con los comentarios solicitados.

Los archivos de imgenes obtenidos.

Las fuentes, si han utilizado fuentes adicionales.

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

33

Presentacin


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


original y agregar _tema.

Revisar permanentemente el blog del Curso:


http://utppdiyva.blogspot.com.

 Las Tareas que no cumplan las indicaciones


no sern recepcionados por el profesor.
Procesamiento de Imagenes y Vision Artificial - Prof. Ing. Jose C. Benitez P.

34

Agradecimiento

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

35

Potrebbero piacerti anche