Upload
chickie-cordero
View
223
Download
0
Embed Size (px)
Citation preview
Capitulo 2Capitulo 2FiltradoFiltrado
Filtrado Espacial
Visión de Máquina
Ingeniería en Automática Industrial
Filtrado EspacialFiltrado EspacialSon filtros que se realizan directamente sobre
la imagen y por tanto en el dominio del espacio.
Aplicaciones:◦ Reducción de ruido◦ Detección de bordes en una dirección◦ Contornos◦ Suavizado
Los píxeles de la nueva imagen dependen del píxel de la imagen original y sus vecinos.
Filtrado EspacialFiltrado EspacialEquivalencia de los filtros en el plano frecuencial son
las mascaras de convolución en el dominio espacial.
Filtrado EspacialFiltrado Espacial
g(x,y)Imagen procesada
g(x,y) = T[ f(x,y) ]
w1
w2
w3
w4
w5
w6
w7
w8
w9
f(x,y)Imagen de entrada
w:máscara, kernel,
ventana,filtro
w1
w2
w3
w4
w5
w6
w7
w8
w9
ConvoluciónConvoluciónLa convolución es una operación matemática
que suma una función f consigo misma repetidas veces en todo el dominio de otra función h, utilizando en cada suma como valor de escala el valor de h en ese punto de su dominio.
Su formulación matemática es:
( )* ( ) ( ) ( )f x h x f x h u x dx
Convolución discretaConvolución discretaModifica el nivel de gris de los pixeles de la
imagen teniendo en cuenta los pixeles de su entorno de vecindad
La máscara h debe ser rotada antes de efectuar el producto con f.
( , ) * ( , ) ( , )m n
g i j f h f m n h i m j n
EjemploEjemplo
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
f
8 1 6
3 5 7
4 9 2
h
2 9 4
7 5 3
6 1 8
g(2,4) = 1*2+8*9+15*4+7*7+14*5+16*3+13*6+20*1+22*8 = 575
A = magic(5); h = [8 1 6; 3 5 7; 4 9 2];% Convolucion de dos matricesg=conv2(A,h,'same')
A = magic(5); h = [8 1 6; 3 5 7; 4 9 2];% Convolucion de dos matricesg=conv2(A,h,'same')
Filtro espacial pasa bajoFiltro espacial pasa bajoPromediado del entornoDifumina los bordes y otros detalles
g(x,y) es simplemente la media de todos los niveles de gris del área de la máscara
1 1 1
1 1 1
1 1 1
1*
9
Filtro espacial pasa altoFiltro espacial pasa alto La suma de los coeficientes es cero.
Si la máscara esta sobre un nivel de gris constante o lentamente variable, la salida proporcionada por la máscara es cero o un valor pequeño
Reducción del valor medio de la imagen Mejora de los bordes
-1 -1 -1
-1 8 -1
-1 -1 -1
1*
9
Filtro de la medianaFiltro de la medianaEl nivel de gris se reemplaza por la mediana
de los niveles de gris de la vecindad.
Carga computacional elevada
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
4,5,6,7,10,12,13,19,23
Mediana
g(3,2)=10
Considere f(x) que representa un perfil de línea
El perfil muestra las variaciones al pasar de una zona clara a una zona oscura y viceversa
La primera derivada detecta la variación. El máximo del valor absoluto coincide con el punto central del borde
La segunda derivada detecta los cambios en la pendiente y los cambios de la primera derivada. Los pasos por cero coinciden con el centro del borde
Filtro diferencial - Filtro diferencial - GradienteGradiente
Filtro diferencial - Filtro diferencial - GradienteGradientePara una función f(x,y) el gradiente de f en el
punto de coordenadas (x,y) se define como el vector,
La derivada apunta en la dirección de máxima variación de f(x,y).
( , )
( , )x
y
ff x yx
ff f x yy
2 2( , ) ( ( , )) ( ( , ))x yf x y f x y f x y
1 ( , )( , ) tan
( , )y
x
f x yx y
f x y
Aprox discreta del Aprox discreta del gradientegradienteAprox por diferencia de pixeles adyacentes
Máscaras
Gradiente de fila Gradiente de columna
z1 z2 z3
z4 z5 z6
z7 z8 z9
y
x2 2
5 8 5 6( , ) ( ) ( )f x y z z z z
5 8 5 6( , )f x y z z z z
0 0 0
0 1 -1
0 0 0
0 0 0
0 1 0
0 -1 0
Aprox discreta del Aprox discreta del gradientegradienteAprox por diferencias cruzadas
Máscaras de Roberts
Extremada sensibilidad al ruido
z1 z2 z3
z4 z5 z6
z7 z8 z9
2 25 9 6 8( , ) ( ) ( )f x y z z z z y
x5 9 6 8( , )f x y z z z z
0 0 0
0 1 0
0 0 -1
0 0 0
0 0 1
0 -1 0
1 ( , )( , ) tan
4 ( , )y
x
f x yx y
f x y
Aprox discreta del Aprox discreta del gradientegradienteOperadores de Prewitt
Se involucran a los vecinos de filas/columnas adyacentes para proporcionar mayor inmunidad al ruido.
-1 -1 -1
0 0 0
1 1 1
-1 0 1
-1 0 1
-1 0 1
7 8 9 1 2 3
3 6 9 1 4 7
( , ) ( ) ( )
( ) ( )
f x y z z z z z z
z z z z z z
1*
31
*3
Aprox discreta del Aprox discreta del gradientegradienteOperadores de Sobel
Más sensible a los bordes diagonales
-1 -2 -1
0 0 0
1 2 1
-1 0 1
-2 0 2
-1 0 1
7 8 9 1 2 3
3 6 9 1 4 7
( , ) ( 2 ) ( 2 )
( 2 ) ( 2 )
f x y z z z z z z
z z z z z z
1*
41
*4
ImplementaciónImplementación
x yf f ( , )f x y
Imagen Gradiente
( , )f x y Imagen binaria
Punto de borde
No es Punto del borde
NO
SI
LaplacianoLaplacianoEl laplaciano de una función bidimensional
esta definido por: 2 22
2 2
f ff
x y
f(i-1,j) f(i,j) f(i+1,j)
y
x ( , ) ( 1, )
( , ) ( 1, )
y
y
f f i j f i j
f f i j f i j
2
2( , ) ( 1, )yy y
fff i j f i j
y y
2
2( , ) ( 1, ) ( , ) ( 1, )
( 1, ) 2 ( , ) ( 1, )
ff i j f i j f i j f i j
y
f i j f i j f i j
LaplacianoLaplaciano
Lapalciano de 4 vecinos. Sensible al ruidoPosibilidad de detectar bordes de manera más precisa
mediante la determinación de los cruces por cero.
0 0 0
-1 2 -1
0 0 0
0 -1 0
0 2 0
0 -1 0
0 -1 0
-1 4 -1
-0 -1 0
1*
4
Comandos MatlabComandos Matlab