Documentos de Académico
Documentos de Profesional
Documentos de Cultura
discontinuidades
Filtros pasobajo:
Asemeja el nivel de gris del pxel con el entorn
Reduce ruido
Aumenta homogeneidad
Se pierde detalle (bordes se difuminan)
Filtro promedio:
Laplaciana de la gausiana
Gradiente
Deteccin de bordes:
Enfatizan los bordes que rodean al objeto
Filtros pasoalto
Gradiente: Variaciones del nivel de gris
en pxeles consecutivos
y
f(x,y)
f(x+1,y)
x
f(x,y+1)
Gradiente (II)
Magnitud del vector gradiente
Gx 2
Gy 2
M ( x, y ) 2 2
( x, y ) 90 45
0
1350
Direccin
del vector
gradiente
Gradiente (III)
Magnitud del vector gradiente
% Determina gx y gy
function [gx,gy]=gradiente(I)
hx=[-1 0;1 0];
hy=hx';
%filtro
gx=imfilter(I,hx,'replicate','conv');
gy=imfilter(I,hy,'replicate','conv');
%end
% Obtiene la magnitud del gradiente
II=abs(gx)+abs(gy);
%Obtiene la direccin del gradiente
VI=atan(double(gy)/double(gx));
Gx
M x, y
Gx G y
1
T
MN
2
M
(
x
,
y
)
x 1 y 1
V=edge(II,'roberts');
Mscaras de Roberts
>umbral
Mscaras de Prewitt
Extensin a mscaras de tamao 3x3
Pxel a alterar en centro de la vecindad
Equivalencia
[BW,umbral,gv,gh] = edge(I,'prewitt')
>> gh=fspecial('prewitt')
>> gv=gh'
gh =
1
0
-1
1
0
-1
1
0
-1
gv =
1
1
1
0
0
0
-1
-1
-1
% Se aplican filtros
III=imfilter(II,gh);
IV=imfilter(II,gv);
% Obtiene el gradiente
V=abs(III)+abs(IV);
Diagonal izquierda
Diagonal derecha
M ( x, y ) max M H , M V , M I , M D
Direccin predominante
La equivalente a la magnitud predominante
Mscaras de Sobel
Reforzar el valor del pxel central
Reduce la influencia del ruido en la deteccin
de discontinuidades
Prewitt
Sobel
>> w=fspecial('sobel')
Mscaras de Kirsch
8 mscaras que representan 8 orientaciones
II
G ( x, y )V max M 0 , M 180
G ( x, y ) D max M 45 , M 225
G ( x, y ) H max M 90 , M 270
Mscaras de Robinson
Una negada de la otra, menos costoso computacionalmente
Kirsch vs Robinson
Comparacin de mscaras a 45o
1.5
3
2
0.5
-0.5
-1
-1
-2
-3
1
-1.5
0.5
0.5
0
0
-0.5
-0.5
-1
-1
-2
1
0.5
-0.5
-1
-1
-0.5
0.5
Kirsch
Prewitt
-45o
Kirsch
Roberts
Prewitt
Robinson
Robinson
Sobel
Sobel
f
(
x
,
y
)
f ( x, y )
2
f ( x, y )
2
x
y 2
Operador
Laplaciano
f
f ( x 1) f ( x)
x
f
f ( y 1) f ( y )
y
2 f
f ( x 2) f ( x 1) f ( x 1) f ( x)
x 2
2 f
f ( y 2) f ( y 1) f ( y 1) f ( y )
2
y
2 f
f ( y 1) f ( y 1) 2 f ( y )
2
y
2 f ( x, y ) f ( x 1, y ) f ( x 1, y ) f ( x, y 1) f ( x, y 1) 4 f ( x, y )
Mscaras equivalentes
0
-1
-1
-1
-1
-4
-8
-1
-1
-1
-1
-1
-1
-1
-1
Si centro de
mscara negativo
Si centro de
mscara positivo
Lo anterior equivale a aplicar la siguiente mscara
-8
a=[0:1/255:1];
for i=1:400
b(i,1:256)=a(1,:);
end
aa=zeros(400,72);
bb=ones(400,72)*255;
ent=[aa b bb];
Fila
Primera derivada
Segunda derivada
Detectar bordes
primera derivada
Aplicar umbral
de intensidad
a la imagen filtrada
Detectar bordes
segunda derivada
Deteccin de los
cruces por cero
a la imagen filtrada
Ms susceptible al ruido
Menos utilizada para detectar bordes
Ruido
Doble borde
No se detecta direccin
III
IV
Deteccin de puntos
Se aplica el Laplaciano (segunda derivada)
>> I=imread('discont2.jpg');
>> w=[-1, -1, -1; -1, 8, -1; -1, -1, -1]
>> ww=-w
>> II=imfilter(I,w);
>> III=imfilter(I,ww);
w=
-1
-1
-1
Si R ( x, y ) T
de otra forma
g ( x, y )
-1
8
-1
-1
-1
-1
Deteccin de lneas
En una direccin especfica
% Se definen las mscaras
w(:,:,1)=[-1, -1, -1; 2, 2, 2; -1, -1, -1];
w(:,:,3)=rot90(w(:,:,1));
w(:,:,2)=[-1, -1, 2; -1, 2, -1; 2, -1, -1];
w(:,:,4)=rot90(w(:,:,2));
% 0o
% 90 o
% 45o
% -45 o
% Se calcula la media
for i=1:4
II(:,:,i) = imfilter(I,w(:,:,i),'symmetric','same');
maxima_intensidad(1,i)=mean2(II(:,:,i))
figure;imshow(II(:,:,i));
end
Deteccin de bordes
z1
z2
Z3
z4
z5
z6
z7
Z8
z9
Roberts
f
Gx
z8 z 5
x
Gy
f
z 6 z5
y
M1
f
Gx
z9 z 5
x
f
Gy
z8 z 6
y
M2
M final max M 1 , M 2
z2
Z3
z4
z5
z6
z7
Z8
z9
Gx
f
z7 2 z8 z9 z1 2 z 2 z3
x
f
Gy
z3 2 z6 z9 z1 2 z 4 z7
y
Gx
f
z7 z8 z9 z1 z 2 z3
x
Gy
f
z3 z6 z9 z1 z 4 z7
y
IV
III
IVp=IV>0.65*max(IV(:)); Vp=V>0.53*max(V(:));
x2 y2
2
2
2
2
G
(
x
,
y
)
G ( x, y )
2
G ( x, y )
2
x
y 2
G ( x, y )
x
2e
x
x2 y 2
2
2
G ( x, y ) x
1
4 2 e
2
x
2
G ( x, y )
y
2e
y
x2 y2
2
2
x2 y 2
2
2
G ( x, y ) y
1
4 2 e
2
y
2
x2 y2
2
2
Laplaciana de la gausiana
G ( x, y ) G ( x, y ) x y 2
2
G ( x, y )
e
2
2
4
x
y
x2 y2
2
2
e
2
2
4
x
y
2 G ( x, y )
x2 y 2
2
2
0.7
2 2
Cruces por cero
2 2
Laplaciana de la gausiana
0.7
>> w=fspecial('log',5,.7)
w=
0.0034 0.0338 0.0697
0.0338 0.1800 0.0105
0.0697 0.0105 -1.3250
0.0338 0.1800 0.0105
0.0034 0.0338 0.0697
>> sum(w(:))
-6.0715e-018
0.0338
0.1800
0.0105
0.1800
0.0338
0.0034
0.0338
0.0697
0.0338
0.0034
Ms ruidosa
G ( x, y ) e
x2 y2
2
2
-8
1
DoG ( x, y )
e
2
2 1
x2 y2
2
2 1
e
2
2 2
Debe cumplirse:
1 2
x2 y2
2
2 2
Mtodo de Canny
1.- Suavizar la imagen con filtro gausiano
w x, y e
x2 y2
2 2
T1 M ( x, y ) T2
M ( x, y ) T2
Bordes dbiles
Bordes fuertes
Aplicacin de Canny
Kirsch (T=0.95M)
Canny
Mscaras de Frei-Chen
Subespacio borde
Subespacio lnea
Subespacio promedio
Obtencin de coeficientes de
la mscara
Prewitt
-a
-b
-a
Sobel
Neurona
a = [0.5; 1.5] = 0.5+(1./(1+exp(-pa)));
b = [0.5; 2.5] = 0.5+2*(1./(1+exp(-pb)));
Obtencin de coeficientes de
la mscara (II)
f(x-1, y-1)
f(x-1, y)
f(x-1, y+1)
-a
f(x, y-1)
f(x, y)
f(x, y+1)
-b
f(x+1, y-1)
f(x+1, y)
f(x+1, y+1)
-a
g ( x, y)
w ( s, t ) f ( x s, y t )
s at b
x1
x2
x3
x4
x5
x6
x7
x8
x9
Obtencin de coeficientes de
la mscara (III)
-a
-b
-a
-a
-b -a
0
0 0
a
b a
-b -a 0
-a
0 a
a b
-a
-b -a
x1
x2
x3
x4
x5
x6
x7
x8
x9
Obtencin de coeficientes de
la mscara (IV)
Borde total = Suma de lneas en cada orientacin
Ncleo estimador
Obtencin de coeficientes de
la mscara (V)
Ncleo estimador
-b
b
0 2a
+b
b 2a
+b
Obtencin de coeficientes de
la mscara (VI)
Ncleo estimador
Componentes derivativos
Obtencin de coeficientes de
la mscara (VII)
Matriz de entrada-salida
f(x-1, y-1)
f(x-1, y)
f(x-1, y+1)
x1
x2
x3
f(x, y-1)
f(x, y)
f(x, y+1)
x4
x5
x6
f(x+1, y-1)
f(x+1, y)
f(x+1, y+1)
x7
x8
x9
Obtencin de coeficientes de
la mscara (VIII)
Sustituir en algoritmo de aprendizaje supervisado
Ncleo estimador
Obtencin de coeficientes de
la mscara (IX)
Solucin de sistema de ecuaciones lineales
Ncleo estimador
g t ( x, y ) axa bxb
xa 2( x9 x6 x1 x4 )
xb ( x6 x4 x8 x2 x9 x1 x3 x7 )
a
G X
b
a
1 T
T
X
X
X G
b
-2a-b
-2a-b
-b
-b
b
0 2a
+b
b 2a
Obtencin de coeficientes de
la mscara (X)
mm =
-1.9216 -0.5584 0.5584
-1.9216
0
1.9216
-0.5584 0.5584 1.9216
>>IV=imfilter(II, mm, 'symmetric');
Transformada de Hough
Fuente
Lnea
Puntos con similar Rho y Theta
Lnea definida en
cos
y
x
sen
sen
>>II=rgb2gray(I);
>> III=im2bw(II,.45);
>> [H,T,R] = hough(III);
>> P = houghpeaks(H,2);