Filtros linealesFiltros de rango
Filtros en el dominio espacialLeccion 05.2
Dr. Pablo Alvarado Moya
CE5201 Procesamiento y Analisis de Imagenes DigitalesArea de Ingenierıa en Computadores
Tecnologico de Costa Rica
I Semestre, 2017
P. Alvarado — TEC — 2017 Operaciones espaciales 1 / 22
Filtros linealesFiltros de rango
Contenido
1 Filtros linealesMascaras de suavizamientoAproximacion del gradienteLaplaciano
2 Filtros de rango
P. Alvarado — TEC — 2017 Operaciones espaciales 2 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
Filtros lineales
Suavizamiento (Filtros paso-bajo)
Aproximacion de derivacion (Filtros paso-alto)
Laplaciano (Filtros paso-alto)
Nitidez
P. Alvarado — TEC — 2017 Operaciones espaciales 3 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
Filtros de media movil
h(x , y) =1
N2
11...1
[1 1 . . . 1]
=1
N2
1 1 . . . 11 1 . . . 1...
.... . .
...1 1 . . . 1
P. Alvarado — TEC — 2017 Operaciones espaciales 4 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
Filtros gaussianos y binomiales
Gaussiano:
g(x , y , σ) = g(x , σ)g(y , σ)
g(x , σ) =1
σ√
2πe
12 ( x
σ )2
Binomial:
BN(x , y) = BN(x)BN(y)
BN(x) =1
K
(Nx
) (Nx
)=
N!
(N − n)!N!K =
N∑x=0
(Nx
)
P. Alvarado — TEC — 2017 Operaciones espaciales 5 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
Triangulo de Pascal
11 1
1 2 11 3 3 1
1 4 6 4 11 5 10 10 5 1
1 6 15 20 15 6 11 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1...
BN = 1K [1 1] ∗ [1 1] ∗ · · · ∗ [1 1]︸ ︷︷ ︸
N veces
P. Alvarado — TEC — 2017 Operaciones espaciales 6 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
Gradiente
En espacio continuo:
∇f =
∂
∂xf (x , y)
∂
∂yf (x , y)
Con frecuencia se utilizan
|∇f | =
√(∂
∂xf (x , y)
)2
+
(∂
∂yf (x , y)
)2
∠∇f = arctan
(∂∂y f (x , y)
∂∂x f (x , y)
)
P. Alvarado — TEC — 2017 Operaciones espaciales 7 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
Gradiente en el espacio discreto (1)Aproximacion por diferencias
Aproximacion hacia atras (Kernel [1↑− 1]):
∂
∂xf (x , y) ≈f (x , y)− f (x − 1, y)
∂
∂yf (x , y) ≈f (x , y)− f (x , y − 1)
Aproximacion hacia adelante (Kernel [1 −1↑
]):
∂
∂xf (x , y) ≈f (x + 1, y)− f (x , y)
∂
∂yf (x , y) ≈f (x , y + 1)− f (x , y)
P. Alvarado — TEC — 2017 Operaciones espaciales 8 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
Gradiente en el espacio discreto (2)Aproximacion por diferencias
Aproximacion centrada (Kernel
[12 0
↑− 1
2
]):
∂
∂xf (x , y) ≈1
2(f (x + 1, y)− f (x − 1, y))
∂
∂yf (x , y) ≈1
2(f (x , y + 1)− f (x , y − 1))
P. Alvarado — TEC — 2017 Operaciones espaciales 9 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
Gradiente en el espacio discretoKernel de Roberts
Aproximaciones por diferencias: componentes desplazadas
+1
+1
+1+1+1
0
0
0
0
−1
−1
−1
−1−1
−1
Aproximacion con kernels de Roberts
+1
+1
+1+1+1
0
0
0
0
−1
−1
−1
−1−1
−1
Derivacion amplifica ruido de alta frecuencia
Reduccion de ruido en direccion ortogonal con filtro pasa-bajos
P. Alvarado — TEC — 2017 Operaciones espaciales 10 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
Gradiente en el espacio discretoKernel de Roberts
Aproximaciones por diferencias: componentes desplazadas
+1
+1
+1+1+1
0
0
0
0
−1
−1
−1
−1−1
−1
Aproximacion con kernels de Roberts
+1
+1
+1+1+1
0
0
0
0
−1
−1
−1
−1−1
−1
Derivacion amplifica ruido de alta frecuencia
Reduccion de ruido en direccion ortogonal con filtro pasa-bajos
P. Alvarado — TEC — 2017 Operaciones espaciales 10 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
Gradiente en el espacio discretoKernel de Roberts
Aproximaciones por diferencias: componentes desplazadas
+1
+1
+1+1+1
0
0
0
0
−1
−1
−1
−1−1
−1
Aproximacion con kernels de Roberts
+1
+1
+1+1+1
0
0
0
0
−1
−1
−1
−1−1
−1
Derivacion amplifica ruido de alta frecuencia
Reduccion de ruido en direccion ortogonal con filtro pasa-bajos
P. Alvarado — TEC — 2017 Operaciones espaciales 10 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
Gradiente en el espacio discretoKernel de Roberts
Aproximaciones por diferencias: componentes desplazadas
+1
+1
+1+1+1
0
0
0
0
−1
−1
−1
−1−1
−1
Aproximacion con kernels de Roberts
+1
+1
+1+1+1
0
0
0
0
−1
−1
−1
−1−1
−1
Derivacion amplifica ruido de alta frecuencia
Reduccion de ruido en direccion ortogonal con filtro pasa-bajos
P. Alvarado — TEC — 2017 Operaciones espaciales 10 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
Gradiente en el espacio discretoKernel de Prewitt
+1
+1+1+1
+1+1+1
+1
+1
+1
+1
+1
+1
+1 0 00 0
0
0
0
0 −1 −1−1−1
−1
−1
−1
−1
Reduccion de ruido utilizando filtro de media movil
Aproximacion central para gradiente
Factor de normalizacion de 1/6
Origen: aproximacion cuadratica de imagen en Vecindad-8
P. Alvarado — TEC — 2017 Operaciones espaciales 11 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
Gradiente en el espacio discretoKernel de Sobel
+1
+1+1
+1+1
+1
+1
+1
+1
+1
0 00 0
0
0
0
0 −1 −1−1
−1
−1
−1 +2
+2
+2+2
−2
−2
Reduccion de ruido utilizando filtro binomial
Aproximacion central para gradiente
Factor de normalizacion de 1/8
Origen: aproxima DoG
P. Alvarado — TEC — 2017 Operaciones espaciales 12 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
Otros kernels para gradientes
Robinson (no separable)
+1 +1+1
+1+1
+1
+1
+1
+1
+1 −1 −1−1
−1
−1
−1
−2−2
Kirsch (no separable, 4 direcciones)
−5
−5
−5
+3
−5 −5
+3 +3
+3 +3+3
−5
+3
+3
+3
+3
00
Ando (optimizado para invarianza a rotacion)
P. Alvarado — TEC — 2017 Operaciones espaciales 13 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
Notas sobre el gradiente
En literatura aparecen rotados 180◦ (inconsistente pero sinmayor efecto) ¿origen?
Sobel, Robinson y Kirsch: Versiones a ±45◦
P. Alvarado — TEC — 2017 Operaciones espaciales 14 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
DoGDerivative of Gaussians
Idea:1 Filtrar con kernel gaussiano para reducir ruido2 Gradiente/Derivar resultado
Pero:
o(x , y) = ∇(g(x , y , σ) ∗ i(x , y))
= i(x , y) ∗ ∇g(x , y , σ)
Mas economico calcular ∇g(x , y , σ):
∂g
∂x= − x
σ2g(x , y , σ)
∂g
∂y= − y
σ2g(x , y , σ)
Sobel se considera aproximacion de DoG
P. Alvarado — TEC — 2017 Operaciones espaciales 15 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
Laplaciano
Gradiente con dos componentes es anisotropico⇒ ambas componentes cambian si imagen rota sobre pixel
Laplaciano es isotropico⇒ unico valor no cambia si imagen rota sobre pixel
Definicion en espacio contınuo:
∇2f (x , y) =∂2f
∂x2+∂2f
∂y2
P. Alvarado — TEC — 2017 Operaciones espaciales 16 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
Laplaciano discreto
Definicion en espacio discreto basada en aproximacion endiferencias:
∂2f
∂x2= f (x + 1, y)− 2f (x , y) + f (x − 1, y)
∂2f
∂y2= f (x , y + 1)− 2f (x , y) + f (x , y − 1)
El laplaciano discreto se implementa con
+1
+1
+1+1
0
0
0
0
−4
Otras variantes existen para reducir ruido (e.g. LoG)
Laplaciano no es separable
P. Alvarado — TEC — 2017 Operaciones espaciales 17 / 22
Filtros linealesFiltros de rango
Mascaras de suavizamientoAproximacion del gradienteLaplaciano
Usos del Laplaciano
Medicion de “bordicidad” (edgeness)
Mejora de nitidez:
g(x , y) = f (x , y) + c∇2f (x , y)
(a imagen se le amplifican los bordes)
P. Alvarado — TEC — 2017 Operaciones espaciales 18 / 22
Filtros linealesFiltros de rango
Filtros no lineales
Filtros de Rango
P. Alvarado — TEC — 2017 Operaciones espaciales 19 / 22
Filtros linealesFiltros de rango
Filtros de rangoRank ordered filters
Tambien llamados filtros por orden (order-statistic filters)
Son no lineales ⇒ no aplica convolucion
Se toma el elemento r de los pıxeles en la vecindad,ordenados.
Ejemplos: filtro maximo, filtro mınimo, filtro mediana
P. Alvarado — TEC — 2017 Operaciones espaciales 20 / 22
Filtros linealesFiltros de rango
Resumen
1 Filtros linealesMascaras de suavizamientoAproximacion del gradienteLaplaciano
2 Filtros de rango
P. Alvarado — TEC — 2017 Operaciones espaciales 21 / 22
Filtros linealesFiltros de rango
Este documento ha sido elaborado con software libre incluyendo LATEX, Beamer, GNUPlot, GNU/Octave, XFig,Inkscape, LTI-Lib-2, GNU-Make y Subversion en GNU/Linux
Este trabajo se encuentra bajo una Licencia Creative Commons Atribucion-NoComercial-LicenciarIgual 3.0 Unpor-ted. Para ver una copia de esta Licencia, visite http://creativecommons.org/licenses/by-nc-sa/3.0/ o envıeuna carta a Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
© 2005-2017 Pablo Alvarado-Moya Area de Ingenierıa en Computadores Instituto Tecnologico de Costa Rica
P. Alvarado — TEC — 2017 Operaciones espaciales 22 / 22