Upload
jcbpperu
View
61
Download
0
Embed Size (px)
Citation preview
Procesamiento de Imágenes
y Visión Artificial
(WEE2)
Sesión: 3
Ing. José C. Benítez P.
Operaciones, transformaciones y conversiones
Logros de aprendizaje
1. Conocer las operaciones lógicas y aritméticas aplicadas a
los diferentes tipos de imágenes digitales.
2. Procesar espacialmente las imágenes digitales.
3. Conocer los métodos de conversión de las imágenes
digitales RGB a escala de grises.
2
3
Contenido
Operaciones, transformaciones y conversiones:
• Operaciones con imágenes.
• Procesamiento espacial de imágenes.
• Métodos de conversión RGB a escala de grises.
Operaciones con imágenes
� Operaciones lógicas y aritméticas.
o Operaciones lógicas.
o Suma.
o Resta.
� Operaciones geométricas.
o Traslaciones.
o Magnificaciones.
o Rotaciones.
o Interpolaciones
� Procesamiento espacial.
o Convolución.
o Correlación.
o Convolución y correlación.
42
Convolución y correlación en MatLab
Procesamiento espacial
>>a = [0 1 2 1 0]>>stem(a)>>b =[1 0 1]>>stem(b)>>c = conv(a,b)>>stem(c)
c = a * b c = [0 1 2 2 2 1 0]
43
Convolución y correlación en MatLab
Procesamiento espacial
>>a=[0 0 0 1 1 1 0 0 0;0 0 0 1 1 1 0 0 0;0 0 0 1 1 1 0 0 0; 0 0 0 1 1 1 0 0 0; 0 0 0 1 1 1 0 0 0];>>imshow(a);>> b=[1 1 1 0 0 0 1 1 1; 1 1 1 0 0 0 1 1 1; 1 1 1 0 0 0 1 1 1]>>imshow(b)>>c = conv2(a,b)>>imshow(c)
>> size(a)ans =
5 9>> size(b)ans =
3 9>> size(c)ans =
7 17
46
Convolución y correlación en MatLab
Procesamiento espacial
>> a=magic(5)a =
17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9
>> h=[-1 0 1]h =
-1 0 1Filtro usando la correlacion
>> imfilter(a,h)ans =
24 -16 -16 14 -85 -16 9 9 -146 9 14 9 -2012 9 9 -16 -2118 14 -16 -16 -2
Filtro usando la convolucion
>> imfilter(a,h,'conv')ans =
-24 16 16 -14 8-5 16 -9 -9 14-6 -9 -14 -9 20-12 -9 -9 16 21-18 -14 16 16 2
50
¿Cómo convertir una imagen a escala de grises?
Para que una imagen sea vea en tonos de gris se
requiere que los tres componentes básicos del color (en
el computador: rojo, verde, azul – RGB por sus siglas en
inglés) tengan más o menos la misma intensidad,
podemos decir que si queremos convertir un pixel a su
equivalente en escala de grises bastaría con hacer algo
como esto:
• Sumar los valores de los componentes de color del
pixel, es decir sumar R + G + B
• Sacar el promedio de esa suma
• El valor hallado se debe asignar a R, G y B
Con estos tres pasos ya logramos que el pixel sea de
color gris ya que cada uno de sus componentes tiene el
mismo valor.
51
¿Cómo convertir una imagen a escala de grises?
Hay muchas otras formas de hacerlo, incluso alguien que
haya trabajado previamente con imágenes puede tener
su propia versión de como implementarlo de acuerdo a lo
que necesite o al tiempo que tenga.
Pero existe una manera ampliamente conocida y
aceptada en el gremio de las personas que trabajan con
imágenes y visión por computador esa manera es la que
aprenderemos a efectuar.
52
El ojo humano y su sensibilidad
Bien, resulta que el ojo humano es mucho más sensible a los
colores verdes y rojos que al azul, por lo que en cuanto a
precepción de iluminación se trata nuestro ojo reconoce los
patrones de iluminación en color en las siguientes
proporciones para cada componente:
• Rojo: 30%
• Verde: 59%
• Azul: 11%
Así que lo más adecuado es calcular el valor de cada
componente de color con base a esta proporción y de este
modo se obtiene el pixel de color gris con la iluminación
adecuada para que nuestro ojo lo perciba como un mejor
equivalente a su versión en color.
53
Conversión de imágenes RGB a grayscale
En PDI existen generalmente cuatro funciones diferentes
para convertir los colores a escala de grises: "lightness",
"luminosity" y "average".
Para cada píxel: "lightness" promedia los valores de color
máximo y mínimo; "luminosity" le da más peso al verde y
muy poco al azul; "average" calcula el promedio de los tres
colores:
Average = (R + G + B) / 3
Lightness = ( max(R,G,B) + min(R,G,B) ) / 2
Luminosity = 0,21 × R + 0,72 × G + 0,07 × B
Luminancia = R × 0.3 + G × 0.59 + B × 0.11