filtros espaciales aplicación del filtro unsharp masking
TRANSCRIPT
![Page 1: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/1.jpg)
Filtros espacialesImagen Original Resultado del Filtro
Aplicación del filtro unsharp masking
![Page 2: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/2.jpg)
Vecindades
Operaciones sobre vecindades:Son aquellas que se realizan sobre bloques definidos dentro de la imagen, en vez de procesar toda la imagen
![Page 3: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/3.jpg)
Operaciones basadas en vecindades
Las operaciones se realizan de la siguiente forma:
1.- Se selecciona el píxel a procesar.2.- Se selecciona el entorno del píxel.3.- Se aplica una función que depende del valor de los píxeles del entorno seleccionado4.- Se altera el píxel de la imagen de salida equivalente al píxel de la imagen de entrada, por el valor devuelto por la función.5.- Repetir de 1 a 4 por cada píxel de la imagen de entrada.
![Page 4: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/4.jpg)
Operaciones basadas en vecindades (II)
6 14 10 10 4 3
11 16 17 20 6 3
11 20 15 10 5 4
13 16 6 2 2 2
11 16 7 3 4 2
6 4 4 2 3 2
Ejemplo: Máximo de una vecindad de 3x3Imagen de entrada (I) Imagen de salida (I1)
Lo cual se realizaría con el siguiente programa Matlab >> f=inline('max(x(:))'); % Define función máxima >> I1=nlfilter(I,[3, 3],f); % Devuelve máximo
16 17 20 20 20 6
20 20 20 20 20 6
20 20 20 20 20 6
20 20 20 15 10 5
16 16 16 7 4 4
16 16 16 7 4 4
![Page 5: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/5.jpg)
Operaciones basadas en vecindades (III)
6 14 10 10 4 3
11 16 17 20 6 3
11 20 15 10 5 4
13 16 6 2 2 2
11 16 7 3 4 2
6 4 4 2 3 2
Ejemplo: Mínimo de una vecindad de 3x3
Imagen de entrada (I) Imagen de salida (I1)
Lo cual se realizaría con el siguiente programa Matlab >> f=inline('min(x(:))'); >> I1=nlfilter(I,[3, 3],f);
0 0 0 0 0 0
0 6 10 4 3 0
0 6 2 2 2 0
0 6 2 2 2 0
0 4 2 2 2 0
0 0 0 0 0 0
![Page 6: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/6.jpg)
Operaciones basadas en vecindades (IV)
6 14 10 10 4 3
11 16 17 20 6 3
11 20 15 10 5 4
13 16 6 2 2 2
11 16 7 3 4 2
6 4 4 2 3 2
El problema del contornoImagen de entrada Imagen de salida
0 0 0 0 0 0
0 6 10 4 3 0
0 6 2 2 2 0
0 6 2 2 2 0
0 4 2 2 2 0
0 0 0 0 0 0
1
2
3
1 2 3
.
.. . .
1 2 3 4 5 n1
2
3
m
. . .
. . .
. . .
![Page 7: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/7.jpg)
Operaciones basadas en vecindades (V)
Solución: Relleno de píxeles
.
.. . .
1 2 3 4 5 n1
2
3
m
. . .
. . .
. . .
.
...
. . .
1 2 3 4 5 n1
2
3
m
. . .
. . .
. . .
1
2
3
1 2 3
. . .
. . .
Imagen de entradaImagen de salida
Función: imfilter (‘La_imagen.jpg’, máscara, relleno, salida)
Rellenar contorno sin alterar la imagen original:máscara=[0 0 0 0 00 0 0 0 00 0 1 0 00 0 0 0 00 0 0 0 0]
‘same’: Mismo tamaño imagen original‘full’: Tamaño resultante con relleno (mayor)
![Page 8: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/8.jpg)
Operaciones basadas en vecindades (VI)
Relleno de una constante
f = 1 2 3 2 1-1 -2 -3 -2 -1 1 2 3 2 1-1 -2 -3 -2 -1 1 2 3 2 1
>> imfilter(f,w,25,'full')
w =[0 0 0 0 00 0 0 0 00 0 1 0 00 0 0 0 00 0 0 0 0]
![Page 9: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/9.jpg)
Operaciones basadas en vecindades (VII)
Relleno basado en réplica
f = 1 2 3 2 1-1 -2 -3 -2 -1 1 2 3 2 1-1 -2 -3 -2 -1 1 2 3 2 1
>> imfilter(f,w,’replicate' ,'full')
w =[0 0 0 0 00 0 0 0 00 0 1 0 00 0 0 0 00 0 0 0 0]
![Page 10: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/10.jpg)
Operaciones basadas en vecindades (VIII)
Relleno basado en espejo
f = 1 2 3 2 1-1 -2 -3 -2 -1 1 2 3 2 1-1 -2 -3 -2 -1 1 2 3 2 1
>> imfilter(f,w,’ symmetric ‘,'full')
w =[0 0 0 0 00 0 0 0 00 0 1 0 00 0 0 0 00 0 0 0 0]
![Page 11: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/11.jpg)
Operaciones basadas en vecindades (IX)
Tamaño imagen destino
f = 1 2 3 2 1-1 -2 -3 -2 -1 1 2 3 2 1-1 -2 -3 -2 -1 1 2 3 2 1 >> imfilter(f,w,0,’ full')
w =[0 0 0 0 00 0 0 0 00 0 1 0 00 0 0 0 00 0 0 0 0]
>> imfilter(f,w,0,’ same')
![Page 12: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/12.jpg)
Responden a la siguiente ecuación:
Filtros espaciales
a
as
b
bt
tysxftswyxg ),(),(),(
donde:f(x+s, y+t): Valor de los píxeles del bloque seleccionadow(s, t): Coeficientes que se aplicarán al bloque (máscara)
Siendo la matriz del bloque:m(filas) = 2a + 1n(columnas) = 2b + 1
![Page 13: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/13.jpg)
Concepto:
Son las operaciones que se realizan directamente sobre los píxeles. Se define una matriz de coeficientes del filtro (o máscara, de tamaño mxn) los cuales constituirán pesos ponderados por los que se multiplicarán los valores originales de los píxeles.
Filtros espaciales (II)
![Page 14: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/14.jpg)
Filtros espaciales (III)
f(x-1, y-1) f(x-1, y) f(x-1, y+1)
f(x, y-1) f(x, y) f(x, y+1)
f(x+1, y-1) f(x+1, y) f(x+1, y+1)
Valores de los píxeles del bloque
w(-1, -1) w(-1, 0) w(-1, 1)
w(0, -1) w(0, 0) w(0, 1)
w(1, -1) w(1, 0) w(1, 1)
Valores de los píxeles de los coeficientes (máscara)
a
as
b
bt
tysxftswyxg ),(),(),(
![Page 15: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/15.jpg)
Ejemplo:Valor de los píxeles
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
Filtros espaciales (IV)
Máscara (o filtro) 8 1 6 3 5 7 4 9 2
g(2,4)=1(8)+8(1)+15(6)+7(3)+14(5)+16(7)+13(4)+20(9)+22(2)=585
a
as
b
bt
tysxftswyxg ),(),(),(
![Page 16: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/16.jpg)
Pasos para la aplicación del filtro lineal: 1.- Definir la máscara
2.- Definir tipo de relleno3.- Aplicar la ecuación:
4.- Definir tamaño de la imagen de salida
Filtros espaciales (V)
a
as
b
bt
tysxftswyxg ),(),(),(
![Page 17: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/17.jpg)
Filtros espaciales (VI)
Filtro promedio:
Filtro promedio ponderado:
Ejemplos de filtros
![Page 18: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/18.jpg)
Ejemplo (usando Matlab):% Imagen original>> I=imread('tire.tif');
% Se define una matriz de pesos de valores iguales, % a lo que se le denomina filtro promedio>> w=ones(5,5)/25;
% Se aplica el filtro>> I2=imfilter(I,w);
Filtros espaciales (VII)
>> I(1:5,1:5)ans = 6 14 10 10 4 11 16 17 20 6 11 20 15 10 5 13 16 6 2 2 11 16 7 3 4
>> I2(1:5,1:5)ans = 5 6 7 6 5 6 8 9 7 5 8 9 10 9 6 7 8 9 8 5 6 6 7 6 4
Original Resultado
![Page 19: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/19.jpg)
Filtros espaciales (VIII)
Original
![Page 20: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/20.jpg)
Filtros espaciales (IX)
Original
0 50 100 150 200 250
0
100
200
300
400
500
600
700
800
900
>> imhist(I)
0 50 100 150 200 250
0
100
200
300
400
500
600
700
800
>> imhist(I2)
![Page 21: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/21.jpg)
Filtros espaciales (X)
Método de correlación: Se aplica la máscara tal y como se define
Método de convolución: Se rota la máscara 180 grados alrededor del píxel central, antes de aplicar el filtro
Formas de aplicar la máscara
f =0 0 0 0 00 0 0 0 00 0 1 0 00 0 0 0 00 0 0 0 0
w =1 2 34 5 67 8 9
>> imfilter(f,w,'corr') >> imfilter(f,w,'conv')
ImagenMáscara
![Page 22: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/22.jpg)
Ruido: Es un deterioro de la imagen que puede producirse debido a:
1.- Píxeles perdidos en un sensor CCD
2.- Cuando se comprime o transmite la imagen
3.- Inadecuada iluminación de la escena
4.- Escáner de documentos
5.- Sensibilidad inadecuada de las cámaras, etc.
Imágenes ruidosas
),(),(),( yxyxfyxg
Ruído
![Page 23: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/23.jpg)
Escáner de una letra con y sin ruído
Imágenes ruidosas (II)
G = 0 1 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 0
G_ruidosa = 0.1337 0.9859 1.0447 1.0773 -0.5392 1.0712 0.0547 0.0860 -0.0817 0.9028 0.6783 0.0299 0.3474 -0.0147 0.1335 1.2666 0.0991 0.3885 -0.2928 0.1002 1.0181 -0.0948 0.0390 0.8881 0.9455 0.8147 0.0208 0.4779 0.1484 1.2493 -0.2367 0.9407 1.0204 1.0842 -0.2981
>>[R,Q] = size(G);
>>G_ruidosa = G + randn(R,Q)*0.2
![Page 24: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/24.jpg)
Imágenes ruidosas (III)
% Ruido gausiano >> s = 15; % Desviación estándar
>> s = s/255; % Se normaliza a [0,1] >> II = imnoise(road,'gaussian',0,s^2);
% media 0, varianza (15^2)
![Page 25: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/25.jpg)
Imágenes ruidosas (IV)
III=imnoise(I,'poisson');
![Page 26: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/26.jpg)
Imágenes ruidosas (V)
IV=imnoise(I,'salt & pepper');
![Page 27: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/27.jpg)
Imágenes ruidosas (VI)
V=imnoise(I,'speckle');
![Page 28: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/28.jpg)
Supresión de ruido con filtro promedio
IV=imnoise(I,'salt & pepper');>> w=ones(3,3)/9;>> I2=imfilter(I,w);
![Page 29: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/29.jpg)
Filtro Laplaciano
Este tipo de filtro se basa en un operador derivativo, por lo que acentúa las zonas que
tienen gran discontinuidad en la imagen
)()1()(
xfxfx
xf
![Page 30: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/30.jpg)
Filtro Laplaciano (II)
Si se cumple: )()1()(
xfxfx
xf
Entonces: )(2)1()1()(
2
2
xfxfxfx
xf
2
2
2
22 ),(),(
),(y
yxf
x
yxfyxf
Si la función depende de dos variables
![Page 31: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/31.jpg)
Filtro Laplaciano (III)
2
2
2
22 ),(),(
),(y
yxf
x
yxfyxf
Función dependiente de dos variables
La derivada de segundo orden con respecto a al variable x:
),(2),1(),1(),(
2
2
yxfyxfyxfx
yxf
De forma similar, con respecto a y:
),(2)1,()1,(),(
2
2
yxfyxfyxfy
yxf
),(2)1,()1,(),(2),1(),1(),(2 yxfyxfyxfyxfyxfyxfyxf
Finalmente:
![Page 32: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/32.jpg)
Filtro Laplaciano (IV)
El Laplaciano queda definido por:
),(4)1,()1,(),1(),1(),(2 yxfyxfyxfyxfyxfyxf
La anterior expresión es equivalente a aplicar una máscara definida por:
w = 0 1 0 1 -4 1 0 1 0
a
as
b
bt
tysxftswyxg ),(),(),(
![Page 33: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/33.jpg)
% Imagen original
>> I=imread('moon.tif' );
% Se define una matriz de pesos
>> w=[0, 1, 0; 1, -4, 1; 0, 1, 0];
% Se aplica el filtro
>> I2=imfilter(I,w);
Filtro Laplaciano (V)
Alternativa:>> I=imread('moon.tif');>> w=fspecial('laplacian',0);>> I2=imfilter(I,w,'replicate');
![Page 34: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/34.jpg)
Filtro Laplaciano (VI)
Imágenes: www.imageprecessingplace.com
![Page 35: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/35.jpg)
Filtro Laplaciano (VII)
),(4)1,()1,(),1(),1(),(2 yxfyxfyxfyxfyxfyxf
w = 0 1 0 1 -4 1 0 1 0
w = 1 1 1 1 -8 1 1 1 1
Si se desea considerar las variaciones con respecto a la diagonal
+1
-4
w = -1 -1 -1 -1 8 -1 -1 -1 -1
También se utiliza el negado de las anteriores máscaras
w = 0 -1 0 -1 4 0 0 -1 0
![Page 36: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/36.jpg)
Filtros Laplacianos alternativos
Se emplea en pocas ocasiones en la práctica
Excesivamente sensible a la presencia de ruido Da lugar a bordes dobles y no permite determinar direcciones
Sumar o restar el Laplaciano de la imagen dependiendodel signo del coeficiente central de la máscara utilizada
Coeficiente central de la máscara negativo
Coeficiente central de la máscara positivo
Se utiliza para realzar una imagen
![Page 37: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/37.jpg)
Filtros Laplacianos alternativos (II)Resultado de sustraer el Laplaciano
(una única máscara)
Incluye diagonal
![Page 38: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/38.jpg)
Filtro Gaussiano
La máscara o filtro que responde a:
a
as
b
bs
ts
yx
e
eyxw
222
222
4/)(
4/)(
),(
ó
Siendo la matriz del bloque:m(filas) = 2a + 1n(columnas) = 2b + 1
![Page 39: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/39.jpg)
Filtro Gaussiano (II)
Influencia del parámetro
![Page 40: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/40.jpg)
Filtro Gaussiano (III)
Máscara a partir de función no linealFiltro que se aplica es lineal
a
as
b
bt
tysxftswyxg ),(),(),(0.0478 0.1163 0.04780.1163 0.2829 0.11630.0478 0.1163 0.0478
-3 -2 -1 0 1 2 30
0.05
0.1
0.15
0.2
0.25
%Define máscara>> fspecial('gaussian',3,0.5)ans =0.0113 0.0838 0.01130.0838 0.6193 0.08380.0113 0.0838 0.0113
% Máscara y filtro>> w=fspecial(‘gaussian',3,0.5);>> I2=imfilter(I,w,'replicate');
![Page 41: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/41.jpg)
Laplaciana de la gausiana
![Page 42: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/42.jpg)
Laplaciana de la gausiana (II)>> w=fspecial('log',5,0.4)ans =0.2475 0.2475 0.2479 0.2475 0.24750.2475 0.3545 1.2336 0.3545 0.24750.2479 1.2336 -10.31 1.2336 0.24790.2475 0.3545 1.2336 0.3545 0.24750.2475 0.2475 0.2479 0.2475 0.2475>>surf(w) >>surf(-w)
12
34
5
1
2
3
4
5-15
-10
-5
0
5
st 12
34
5
1
2
3
4
5-5
0
5
10
15
st
![Page 43: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/43.jpg)
Laplaciana de la gausiana (III)
12
34
5
1
2
3
4
5-15
-10
-5
0
5
st
>> w=fspecial('log',5,0.4)>> [x, y]=meshgrid(-2:1:2)>> [xi, yi]=meshgrid(-2:.05:2);>> zi = interp2(x,y,z,xi,yi);>> surf(xi,yi,zi)
Mejorando detalles del tipo de filtros
![Page 44: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/44.jpg)
Máscaras con fspecial
>> w = fspecial('disk',4)
Promedio
>> w = fspecial('average',5)w = 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400>> 1/25ans = 0.0400
Disco
![Page 45: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/45.jpg)
Ejemplo: Promedio
>> w=fspecial('average');
Imagen Original Resultado del Filtro
![Page 46: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/46.jpg)
Máscaras con fspecial (II)
>> z = fspecial('log',5,0.7)
Gausiana>>z = fspecial('gaussian',5,0.7)
Laplaciana de la gausiana
![Page 47: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/47.jpg)
Ejemplo: Filtro Gaussiano
>> w=fspecial('gaussian');
Imagen Original Resultado del Filtro
![Page 48: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/48.jpg)
Máscaras con fspecial (III)
>> z = fspecial('unsharp',0.3)
Laplaciana>>z = z = fspecial('laplacian',0.3)
Mejora de contraste
>> fspecial('laplacian',0) 0 1 0 1 -4 1 0 1 0
>> fspecial('unsharp',0) 0 -1 0 -1 5 -1 0 -1 0
![Page 49: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/49.jpg)
Filtro para acentuar contraste
>> w=fspecial('unsharp'); Imagen Original Resultado del Filtro
![Page 50: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/50.jpg)
Acentuar transiciones horizontales y verticalesPrewit: Acentuar transiciones horizontales
Máscara: w = [ 1 1 1 0 0 0 -1 -1 -1]
Sobel: Acentuar transiciones horizontales
Máscara: w = [1 2 1 0 0 0 -1 -2 -1]
Acentuar transiciones verticales: Transpuesta de la matriz
Máscaras con fspecial (IV)
![Page 51: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/51.jpg)
Ejemplo: Filtro Prewit
>> w=fspecial('prewitt');Imagen Original Resultado del Filtro
![Page 52: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/52.jpg)
Ejemplo: Filtro Sobel
>> w=fspecial('sobel');>> hp=transp(w); % Acentúa vertical
Imagen Original Resultado del Filtro
![Page 53: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/53.jpg)
Filtros no lineales
a
as
b
bt
tysxftswyxg ),(),(),(
Filtro lineal
Filtro no linealValor de los píxeles
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
Bloque de píxeles
1 1 1 1 1 1 1 1 1
>>B = nlfilter(A, [m n], función_nl)
Aplicación Supresión de ruído
![Page 54: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/54.jpg)
Ejemplo de aplicación de filtro no lineal
Sea: -Sxy La región de la imagen -(x,y) Centro de la región
- f’(x,y) La salida del filtro (escalar)
Filtro de Media aritmética
xySts
tsgmn
yxf),(
),(1
),(ˆ
A = imread(‘imagen.jpg'); fun = @(x) mean(x(:)); B = nlfilter(A,[3 3],fun);
A = 1 2 3 4 5 6 7 8 9
B = 1.3333 2.3333 1.7778 3.0000 5.0000 3.6667 2.6667 4.3333 3.1111
![Page 55: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/55.jpg)
Ejemplo de Filtro de Media aritmética Imagen original Media aritmética
Filtros no lineales (II)
![Page 56: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/56.jpg)
Filtro de Media geométrica
mn
Sts xy
tsgyxf
1
),(
),(),(ˆ
Filtro de Media armónica
xySts tsg
mnyxf
),( ),(
1),(ˆ
Función spfilt: Gonzáles, R.; Woods, R.; Eddins, S.: Digital Image Processing Using Matlab. 2004
Filtros no lineales (III)
![Page 57: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/57.jpg)
Ejemplo de Filtro de Media geométrica (I2=spfilt(I, 'gmean', 3, 3);)
Media geométricaImagen original
Filtros no lineales (IV)
![Page 58: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/58.jpg)
Ejemplo de Filtro de Media armónica
>> I2=uint8(3*3./imfilter(1./I, ones(3, 3), 'symmetric'))Media harmónico
Imagen original
Filtros no lineales (V)
![Page 59: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/59.jpg)
Filtro de Media Contra-armónica
Filtro de Punto medio
xy
xy
Sts
Q
Sts
Q
tsg
tsg
yxf
),(
),(
1
),(
),(
),(ˆ
)},(min{)},(max{2
1),(ˆ tsgtsgyxf
Filtros no lineales (VI)
![Page 60: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/60.jpg)
Ejemplo de Filtro de Media Contra-armónica (I2=spfilt(I, 'chmean‘,3, 3);)
Imagen original Media contraharmónico
Filtros no lineales (VII)
![Page 61: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/61.jpg)
Ejemplo de Filtro de Punto medio
>> d1=ordfilt2(I, 1, ones(3, 3), 'symmetric'); % Mínimo>> d2=ordfilt2(I, 3*3, ones(3, 3), 'symmetric'); % Máximo>> I1=uint8(1/2*(d2+d1));
Imagen original Punto medio
Filtros no lineales (VIII)
![Page 62: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/62.jpg)
¿Cuál filtro utilizar?
>>I=imread('contornos.tif'); % Se determinan los bordes verticales>> II=edge(I, 'sobel', 'vertical'); imshow(II)
Verificar como se difuminan los bordes después de aplicar el filtro
![Page 63: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/63.jpg)
¿Cuál filtro utilizar? (II)% Se aplica ruido a la imagen>> III=imnoise(I,'salt & pepper',0.005);% Se aplica el filtro mediana y se detectan bordes verticales>> IV=medfilt2(III);>> V=edge(IV, 'sobel', 'vertical'); imshow(V)
![Page 64: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/64.jpg)
¿Cuál filtro utilizar? (III)% Se aplica el filtro promedio y se detectan bordes verticales>>w=fspecial('average');>>VI=uint8(imfilter(III, w, 'symmetric'));>> VII=edge(VI, 'sobel', 'vertical'); imshow(VII)% Se aplica el filtro media armónica y se detectan bordes verticales>> VIII=uint8(3*3./imfilter(1./III, ones(3, 3), 'symmetric'));>>IX=edge(VIII, 'sobel', 'vertical'); imshow(IX)
![Page 65: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/65.jpg)
Resultado
% Se aplica el filtro punto medio %y se detectan bordes verticales>> d1=ordfilt2(III, 1, ones(3, 3), 'symmetric');>> d2=ordfilt2(III, 3*3, ones(3, 3), 'symmetric');>> X=uint8(1/2*(d2+d1));>>XI=edge(X, 'sobel', 'vertical'); imshow(XI)
Calidad por siguiente orden:MedianaPromedioPunto medioMedia armónica
Frente a ruido: Sal y Pimienta
![Page 66: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/66.jpg)
Filtros usando Simulink
Filtro promedio
Fijar parámetros de simulación
![Page 67: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/67.jpg)
Filtros usando Simulink (II)
![Page 68: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/68.jpg)
Filtros usando Simulink (III)
Se define “fspecial’
![Page 69: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/69.jpg)
Filtros usando Simulink (IV)
![Page 70: Filtros espaciales Aplicación del filtro unsharp masking](https://reader034.vdocuments.site/reader034/viewer/2022050808/5537e662550346c8778b45c5/html5/thumbnails/70.jpg)
Filtros usando Simulink (V)
Video de una cámara conectada ó archivo.avi: Ver vipedge, sustituir por 2-D FIR Filter