Upload
lydat
View
215
Download
0
Embed Size (px)
Citation preview
1
Capítulo 3: Procesamiento de las imágenes
� Procesamiento� Mejorar su calidad, SNR, o realzar
alguna característica
� Teoría de la Señal & Heurístico
� Muestreo y cuantificación� Resolución espacial
1. Característica más pequeña a capturar
2. Campo de visión
� Depende del sistema de iluminación
Superficie iluminada
cuasi uniforme
Focos luminoso
Campo de visión
Teorema del muestreo� Teorema de Shanon
� La frecuencia de
muestreo debe ser al menos el doble del ancho
de banda de la señal.
� Las imágenes se
descomponen en
frecuencias verticales y
horizontales.
Teorema del muestreo� Teorema de Shanon
� Alta frecuencia-> bordes,
ruido.
� Baja frecuencia-> áreas
homogéneas
� El detalle más pequeño
deberá de tener un entorno de 2x2
010
20
3040
5060
70
0
10
20
30
40
50
60
70
0
200
400
600
800
1000
1200
1400
1600
1800
2000
Componente 2 en el eje k
0
20
40
60
80
0
20
40
60
800
500
1000
1500
2000
Componente 16 en el eje k
2
Ejemplo 3.1Para la inspección de la pasta de papel se ha conseguido, según un modelo de simulación, una iluminación uniforme a contraluz de 200 mm x 275 mm (en una relación próxima a los ¾) y el defecto más pequeño a detectar tiene un área de 1 mm2. Con el objeto de reducir las aberraciones ópticas, se ha cerrado el diafragma con un elevado número F. Con ello y tras el análisis radiométrico se ha demostrado que si se emplea una cámara WATEC 902 con una lente de 16 mm, la pasta de papel debe de estar alrededor de los 700 mm en vertical. Determinar
si es correcta la elección realizada
Ejemplo 3.1Según el fabricante de la cámara, ésta tiene para el estándar CCIR 582 filas por 752 columnas y el tamaño del píxel es 8.3µm por 8.6µm. Tomando como propósito un entorno de 3x3 píxeles para el defecto de 1mm2, el factor de magnificación ponderado será:
0253.010
106.8103.896
662 =
⋅⋅⋅⋅=
−
−−
MM
mmM
YmmM
X 2.255106.8752
6.190103.8582 33
=⋅⋅
==⋅⋅
=−−
mmM
fZ 632==
492 9.8 510 12.78.3 8.6
582 752
m mdx m dy m
µ µµ µ
⋅ ⋅= = = =
Tecnologías de vídeo
3
Cuantificación� Potencias de 2
Cuantificación� RGB, HSV,Lab
Distancia entre píxeles
� Relaciones entre píxeles
� Conectividad: N4(p), N8(p)
( ) ( ) ( )22, tysxqpDe −+−=
( ) ( )tysxqpDm −+−=,
( ) ( )tysxqpDt −−= ,max,
4
Distancia entre píxeles ( ) ( ) ( )22, tysxqpDe −+−=
( ) ( )tysxqpDm −+−=,
( ) ( )tysxqpDt −−= ,max,
Teoría de la Señal(1/3)
� Imágenes: señales 2D
� Procesamiento lineal: convolución entre señal y sistema
� Secuencia de ponderación
� Extensión a 2D (máscara de convolución):
{ } { } { } { } { }kkkkk gxxgy ** ==
{ } { },...,,,,..., 21012 gggggg k −−=
∑∑∞
−∞=
−
∞
−∞=
− ==n
nnk
n
nnkk gxxgy
∑=
=n
k
kg0
1
∑∑−= −=
−−=1
1
1
1
,,,
m n
nmnlmklk gxy
+++−+
+−
+−−−−
−
−
−−−−
1,1,11,1
1,,1,
1,1,11,1
1,10,11,1
1,00,01,0
1,10,11,1
lklklk
lklklk
lklklk
xxx
xxx
xxx
ggg
ggg
ggg
Ejemplo 3.2
� Dada la ecuación en diferencia:
obtener la secuencia de ponderación y
determinar la salida ante una entrada en escalón.
214
1
2
1
4
1−− ++= kkkk xxxy
5
Extensión del ejemplo a 2D
Ejemplo 3.2
214
1
2
1
4
1−− ++= kkkk xxxy
{ } { }4
1121=kg
...
125.05.025.0
75.05.025.0
25.0
7
0
2
7
0
1
2
0
0
=++==
=+==
==
∑
∑
∑
=−
=−
=−
n
nnk
n
nnk
n
nnk
gxy
gxy
gxy
K xk xk-1 xk-2 yk
0 1 0 0 0.25
1 0 1 0 0. 5
2 0 0 1 0.25
Resolución en MATLAB
>> g= [1;2;1]./4;>> x=ones(10,1);
>> y=conv(x,g);>>stem(y(1:10));
Teoría de la Señal(2/3)
� Combinación lineal
� Resultados
� Imagen(K,L)
� Máscara(M,N)
� (K+M-1)(L+N-1)
� (K,L)
� (K-M+1)(L-N+1)
1,11,11,11,10,1,1
1,11,11,11,10,1,1
1,01,1,01,0,0,
1
1
1
1
,,,
−+−−−−
−−++−−+−+
−+−
−= −=
−−
⋅+⋅+⋅
+⋅+⋅+⋅
+⋅+⋅+⋅== ∑∑
gxgxgx
gxgxgx
gxgxgxgxy
lklklk
lklklk
lklklk
m n
nmnlmklk
6
Ejercicio 1
� Dada la siguiente imagen, calcular para el píxel marcado el resultado de la convolución
con las dos máscaras de Prewitt.
•
10101011
10101011
10101011
10101011 1 1 1 1 0 1
0 0 0 1 0 1
1 1 1 1 0 1
x y
−
− − − − −
∂ ∂
∂ ∂
Ejemplo 3.4
� Determinar el resultado de la convolución discreta 2D para el filtro FIR binomial {1,2,1}
y su traspuesta.
( )
=
121
242
121
1
2
1
*121
Resolución en MATLAB
>> g= [1;2;1]./4;>> conv2(g,g’)
Teoría de la Señal(3/3)
� Correlación
� Búsqueda de patrones
∑ ∑∞
−∞=
∞
−∞=++=
m n
nmnlmklk gxy ,,,
1
1.5
2
2.5
3
1
1.5
2
2.5
30.05
0.1
0.15
0.2
0.25
7
Ejemplo 3.3
� Determinar la imagen de salida cuando ésta es procesada por un filtro binomial de 3 x 3.
0 0 0 0 0
1 2 10 200 200 200 01
* 2 4 20 200 0 200 016
1 2 10 200 200 200 0
0 0 0 0 0
Ejemplo 3.3
0 0 0 0 0
1 2 10 200 200 200 01
* 2 4 20 200 0 200 016
1 2 10 200 200 200 0
0 0 0 0 0
0 0 0 0 0 0 0
0 12.5 37.5 50 37.5 12.5 0
0 37.5 100 125 100 37.5 0
0 50 125 150 125 50 0
0 37.5 100 125 100 37.5 0
0 12.5 37.5 50 37.5 12.5 0
0 0 0 0 0 0 0
Ejercicio 2
� Si se aplica la siguiente máscara de
convolución, , como un vector fila a la imagen de la figura, ¿Cuál sería el
resultados?¿Y si se aplica como un vector columna?
{ } { }1 0 1ng = −
8
Ejercicio 2
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 -255 -255 0 0 255 255 0 0
0 0 -255 -255 0 0 255 255 0 0
0 0 -255 -255 0 0 255 255 0 0
0 0 -255 -255 0 0 255 255 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 -255 -255 -255 -255 0 0 0
0 0 0 -255 -255 -255 -255 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 255 255 255 255 0 0 0
0 0 0 255 255 255 255 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
{ } { }1 0 1ng = −
Respuesta en frecuencia(1/2)
� Respuesta en frecuencia normalizada
� Secuencia de ponderación
( ) ∑∞
−∞=
−=n
nj
negG ωω 1,...,2,1,00
2
−==∑=
⋅⋅
−
KkegGN
n
nK
kj
nk
π
1,...,2,1,01 1
0
2
−== ∑−
=
⋅⋅
NneGK
gK
k
nK
kj
kn
π
Ejemplo 3.6
� Determinar la respuesta en frecuencia de un sistema discreto cuya secuencia de ponderación es {1/4, 1/2, 1/4}.
( ) ωωωω 22
0 4
1
2
1
4
1 jjnj
n eeegG −−− ++==∑
ωωωω G(ωωωω) ( )ωG ( )( )ωGarg
0 1 1 0
π/64 0.99-j0.049 0.999 -2.81º
2π/64 0.99-j0.097 0.997 -5.62º
... ... ... ...
63π/64 -0.0006-j0.00003 0.0006 -178º
9
Ejemplo 3.6Resolución en MATLAB
>> [G,W] = freqz ([1/4,1/2,1/4], 1,128);
>> plot(W,abs(G));
>> plot(W,angle(G).*(180/pi));
firdemo
Ejercicio 3
� Demostrar que el filtro FIR, cuya secuencia de ponderación es ,
corresponde a un filtro paso banda.
{ } { }1
1 0 2 0 14
ng = − −
( ) 2 411 2
4
j jG e eω ωω − − = − + − ( ) ( )0 0 1 0
2G G G
ππ
= = − =
0 0.5 1 1.5 2 2.5 3 3.50
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1Módulo de la respuesta en frecuencia
0 0.5 1 1.5 2 2.5 3 3.5-200
-150
-100
-50
0
50
100
150
200
10
Extensión a imágenes digitales(1/2)
� Respuesta en frecuencia de una máscara de
convolución2 2
, ,
0 0
0,1,2,..., 1 0,1,2,..., 1k lM N
j m j nK L
k l m n
m n
G g e e k K l Lπ π⋅ ⋅
− ⋅ − ⋅
= =
= = − = −∑∑
010
2030
4050
6070
0
20
40
60
800
0.2
0.4
0.6
0.8
1
Respuesta en frecuencia de filtro binomial
010
2030
4050
6070
0
20
40
60
800
0.2
0.4
0.6
0.8
1
Respuesta en frecuencia de filtro promedio
Ejemplo 3.7
� Determinar la respuesta frecuencia del filtro
binomial 2D:
2 2 2 42 2
, ,
0 0
2 2 2 2 4
4 4 2 4 4
11 2
16
2 4 2
2
k lj m j m j l j lK L L L
k l m n
j k j k j l j k j lK K L K L
j k j k j l j k j lK K L K L
G g e e e e
e e e e e
e e e e e
π π π π
π π π π π
π π π π π
⋅ ⋅− ⋅ − ⋅ − −
− − − − −
− − − − −
= = + + +
+ + +
+ +
∑∑
{ }
=
121
242
121
16
1,nmg
Resolución en MATLAB
>> V=fft2(conv2([1 2 1],[1 2 1]'),64,64);
>> surf(abs(V))0
1020
3040
5060
70
0
20
40
60
800
0.2
0.4
0.6
0.8
1
Respuesta en frecuencia de filtro binomial
fftshift
0
20
40
60
80
0
10
20
30
40
50
60
70
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0
20
40
60
80
0
10
20
30
40
50
60
70
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
11
Respuesta en frecuencia(2/2)
� Transformadas discretas de Fourier
� Relación fundamental
1,...,2,1,00
2
−==∑=
⋅−
KkexXN
n
nK
kj
nk
π
1,...,2,1,01 1
0
2
−== ∑−
=
⋅⋅
NneXK
xK
k
nK
kj
kn
π
Ejemplo 3.7
� Dada la respuesta en frecuencia de un filtro
discreto unidimensional de orden 2 (ver ejemplo 3.6):
� y siendo la excitación al sistema,
� calcular la secuencia de salida.
1,...,2,1,04
1
2
1
4
142
−=++=−−
KkeeGk
Kjk
Kj
k
ππ
{ } { },...0,0,0,1,1=kx
Ejemplo 3.7
1,...,2,1,01
2
−=+=−
KkeXk
Kj
k
π
{ } { },...0,0,0,1,1=kx
kKjk
Kjk
Kjk
Kjk
Kjk
Kj
k eeeeeeY
ππππππ 642422
4
1
4
3
4
3
4
1
4
1
2
1
4
11
−−−−−−
+++=
++
+=
{ }
=4
1,
4
3,
4
3,
4
1ky
12
Ejemplo 3.7
Resolución en MATLAB
>> Xw = fft( [1;1], 64);
>> Gw = fft( [1;2;1]./4, 64);
>> Yw = Xw .* Gw;
>> yk = ifft( Yw )
0.25
0.75
0.75
0.25
0
...
firdemo
Extensión a imágenes digitales(1/2)
� Transformadas de Fourier
� La transformada de Fourier
muestra que una imagen
puede ser construida por la
combinación de armónicos de
frecuencias verticales y
horizontales.
� A mayor frecuencia más
transiciones de la luminancia
en menos píxeles, en la
dirección determinada por la
componente
010
2030
4050
6070
0
10
20
30
40
50
60
70
0
200
400
600
800
1000
1200
1400
1600
1800
2000
Componente 2 en el eje k
0
20
40
60
80
0
20
40
60
800
500
1000
1500
2000
Componente 16 en el eje k
0
20
40
60
80
0
20
40
60
800
0.5
1
1.5
2
x 104
Componente de alta frecuencia
13
Extensión a imágenes digitales(1/2)
� Transformadas de Fourier
� La transformada de Fourier
muestra que una imagen
puede ser construida por la
combinación de armónicos de
frecuencias verticales y
horizontales.
� A mayor frecuencia más
transiciones de la luminancia
en menos píxeles, en la
dirección determinada por la
componente
Ejercicio
� Para la imagen dada, I(x,y), obtener los coeficientes de su transformada discreta de
Fourier que no aparecen en F(I):1 1 1 1
1 1 1 1
0 0 0 0
0 0 0 0
I
=
0 0
0 0 0( )
0 0 0
0 0 0
F I
• •
• = •
•
( ) ( )2 2
4 4, , 0,1, 2,3 0,1, 2,3k lx y
x y
F k l I x y e e k lπ π
− −
= = =∑∑
( ) ( ) ( ) ( ) ( )0,0 8 0,1 0 1,0 4 4 2,0 0 3,0 4 4F F F j F F j= = = − = = +
Extensión a imágenes digitales(2/2)
� Aplicaciones
� Eliminación del ruido
� Realce de bordes
� Alto coste computacional
� FFT: N log2(N)
� Compresión
14
Extensión a imágenes digitales� Compactación de la información
Cuestiones
� ¿Cómo determinar el proceso de muestro de una
imagen?.¿Y el de cuantificación?.
� El procesamiento lineal de las imágenes digitales.
� Convolución y correlación 2D, conclusiones y
aplicaciones.
� Respuesta en frecuencia de la máscara de
convolución:
� Relaciones entre el espectro de la imagen y el tipo
de escena capturada.
010
121
010
6
1
010
121
010
6
1
0
20
40
60
80
0
20
40
60
800
0.2
0.4
0.6
0.8
1
010
2030
4050
6070
0
20
40
60
80
0
0.5
1