Upload
marcelo-pereira-rodrigues
View
250
Download
2
Embed Size (px)
DESCRIPTION
Apostila para detecção de bordas
Citation preview
5. Detecção de bordas
Uma borda, também chamada de “edgel”, é definida como sendo uma mudança ou descontinuidade local na luminosidade de uma imagem.
Classificação : • métodos de realce / limiar
(“enhancement / thresholding”) 1) operadores diferenciais 2) operadores direcionais • métodos de adaptação de bordas
(“edge fitting”)
NPDI - DCC - UFMG 1
NPDI - DCC - UFMG 2
NPDI - DCC - UFMG 3
Em b), valores negativos em tons pretos, valores positivos em tons brancos, valores próximos de zero em tons de cinza.
NPDI - DCC - UFMG 4
5.1. Métodos de realce / limiar 5.1.1. Operadores diferenciais
Em geral, utiliza-se o operador gradiente :
No caso discreto :
GR(m, n) = { [I(m, n) – I(m+1, n+1)]2 +
[I(m, n+1) – I(m+1, n)]2 } GA(m, n) = | I(m, n) – I(m+1, n+1) | +
| I(m, n+1) – I(m+1, n) | GM(m, n) = max( | I(m, n) – I(m+1, n+1) | ,
| I(m, n+1) – I(m+1, n) |)
NPDI - DCC - UFMG 5
Gradiente de Roberts
M1 = [ 1 0 0 -1 ] M2 = [ 0 1
-1 0 ] A aplicação de um operador gradiente gera a chamada imagem gradiente-analógico : G (m , n) = I (m , n) * M (m , n) Para eliminar pequenas respostas, utiliza-se a aplicação de um limiar : Se G (m , n) > T → E (m , n) que gera a chamada imagem mapa binário de bordas.
NPDI - DCC - UFMG 6
Exemplo : 10 12 11 50 50 3 0 77 0 0 0 0 255 0 0 10 11 12 50 50 → 0 1 76 0 0 → 0 0 255 0 0 11 10 12 50 50 0 1 76 0 0 0 0 255 0 0
I (m , n) G (m , n) E (m , n) Outras variações da aplicação de limiar são possíveis, como veremos a seguir. Variações da aplicação de limiar : 1. g(m, n) = G(m, n) imagem gradiente
2. g(m, n) = {G(m, n) I(m, n)
, se G ≥ T , caso contrário
preservação do fundo
3. g(m, n) = {LG I(m, n)
, se G ≥ T , caso contrário
preservação do fundo
4. g(m, n) = {G(m, n) LF
, se G ≥ T , caso contrário
variação das bordas sem
interferência do fundo
5. g(m, n) = {LG LF
, se G ≥ T , caso contrário
mapa de bordas
Obs.: LG = nível de cinza p/ gradiente LF = nível de cinza p/ fundo
NPDI - DCC - UFMG 7
Exemplo de realce de bordas usando gradiente:
NPDI - DCC - UFMG 8
NPDI - DCC - UFMG 9
Estudo Gradiente 1 :
Bureau
differences en x, en y
approximations du module du gradient: vertical, Roberts
NPDI - DCC - UFMG 10
Estudo Gradiente 2 :
Bureau
gradient Roberts seuillé à 64, 128
Cany – Deriche (meilleurs paramètres)
NPDI - DCC - UFMG 11
Operador laplaciano
Uma desvantagem do operador de Roberts é sua anisotropia, isto é, sua assimetria.
O operador laplaciano pode ser empregado
quando não existe preferência de orientação na imagem.
ML = 0 -1 0 -1 4 -1 0 -1 0
ML =
-1 -1 -1 -1 8 -1 -1 -1 -1
ML =
1 -2 1 -2 4 -2 1 -2 1
∇2 f(x, y) = ( δ2f / δx2 ) + ( δ2f / δy2 )
NPDI - DCC - UFMG 12
No caso discreto : ∇2 I(m,n) = ∆x
2 I (m , n) + ∆y2 I (m, n)
∆x
2 I(m,n)= [ I (m , n) – I (m–1 , n) ] + [ I (m , n) – I (m+1 , n) ] ∆y
2 I(m,n)= [ I (m , n) – I (m , n–1) ] + [ I (m , n) – I (m , n+1) ] ∇2 I (m , n) = 4 I (m , n) – [ I (m-1 , n) + I (m+1 , n)
+ I (m , n–1) + I (m , n+1) ] Que corresponde a :
ML = 0 -1 0 -1 4 -1 0 -1 0
ou ML = -1 -1 -1 -1 8 -1 -1 -1 -1
onde a vizinhança é : (m–1 , n–1) (m–1 , n) (m–1 , n+1) (m , n–1) (m , n) (m , n+1) (m+1 , n–1) (m+1 , n) (m+1 , n+1) Pode-se observar que a equação acima é proporcional, pelo fator de –1/5 , a : I(m, n) = –1/5 [ I(m+1, n) + I(m–1, n) + I(m, n) + I(m, n+1) + I(m, n–1) ] que é a diferença entre a original e seu valor médio (considerando-se os 4 vizinhos imediatos). Assim, pode-se restaurar uma imagem borrada, subtraindo-se da imagem borrada o seu laplaciano (multiplicado por um certo fator)
“Unsharp Masking” : usado pela indústria gráfica/publicitária.
NPDI - DCC - UFMG 13
NPDI - DCC - UFMG 14
NPDI - DCC - UFMG 15
NPDI - DCC - UFMG 16
NPDI - DCC - UFMG 17
NPDI - DCC - UFMG 18
NPDI - DCC - UFMG 19
Estudo Laplaciano – Unsharp masking :
Bureau
Blur 1x (média 3x3)
Blur 2x
NPDI - DCC - UFMG 20
Estudo Laplaciano – Unsharp masking (2) :
Bureau
Blur 1x – Laplacian (-4)
Blur 2x – Laplacian (-4)
NPDI - DCC - UFMG 21
Estudo Laplaciano – Unsharp masking (3) :
Bureau
Blur 1x – Laplacian (-8)
Blur 2x – Laplacian (-8)
NPDI - DCC - UFMG 22
NPDI - DCC - UFMG 23
NPDI - DCC - UFMG 24
Operadores de Sobel e Prewitt
São operadores 3 X 3 que aproximam as derivadas parciais para detecção de bordas nas direções ortogonais X e Y. SOBEL PREWITT
MX = 1 2 1 0 0 0 -1 -2 -1
MX = 1 1 1 0 0 0 -1 -1 -1
MY = 1 0 -1 2 0 -2 1 0 -1
MY = 1 0 -1 1 0 -1 1 0 -1
DIREC G = ARC tg My / Mx
NPDI - DCC - UFMG 25
Exemplo: 10 10 50 50 50 10 10 50 50 50 10 10 50 50 50 GSOBEL : 160 160 0 GPREWITT : 120 120 0 Laplaciano 1 : 0 40 0 Laplaciano 2 : 0 120 0 (OBS.: considerando-se valores neg = 0) GROBERTS : 0 57 0 0 57 0 GABS : 0 80 0 0 80 0 GMAX : 0 40 0 0 40 0
NPDI - DCC - UFMG 26
5.1.2. Operadores direcionais
São conjuntos de 8 máscaras 3x3 que
representam aproximações discretas de bordas
ideais nas direções cardeais.
Cada operador aplica 8 máscaras em cada
vizinhança 3x3 da imagem. A magnitude do
gradiente é obtida a partir da resposta mais forte
entre as 8 máscaras. A direção é dada pela
orientação da máscara com resposta mais forte.
Os vetores gradiente e borda são ortogonais.
Como determinar a direção da borda ?
NPDI - DCC - UFMG 27
A máscara norte produz uma saída máxima para
mudanças verticais na luminosidade, isto é, para
bordas horizontais.
A direção da borda é determinada de maneira que o lado claro da borda está localizado à esquerda de quem se move na direção da borda.
NPDI - DCC - UFMG 28
Máscaras direcionais DIREÇ. BORDA
DIREÇ. GRAD.
MÁSC. PREWIT
MÁSC. KIRSCH
MÁSC. 3-NÍVEIS
MÁSC. 5-NÍVEIS
NORTE 1 1 1 1 -2 1 -1 -1 -1
5 5 5 -3 0 -3 -3 -3 -3
1 1 1 0 0 0 -1 -1 -1
1 2 1 0 0 0 -1 -2 -1
NOROESTE 1 1 1 1 -2 -1 1 -1 -1
5 5 -3 5 0 -3 -3 -3 -3
1 1 0 1 0 -1 0 -1 -1
2 1 0 1 0 -1 0 -1 -2
OESTE 1 1 -1 1 -2 -1 1 1 -1
5 -3 -3 5 0 -3 5 -3 -3
1 0 -1 1 0 -1 1 0 -1
1 0 -1 2 0 -2 1 0 -1
SUDOESTE 1 -1 -1 1 -2 -1 1 1 1
-3 -3 -3 5 0 -3 5 5 -3
0 -1 -1 1 0 -1 1 1 0
0 -1 -2 1 0 -1 2 1 0
SUL -1 -1 -1 1 -2 1 1 1 1
-3 -3 -3 -3 0 -3 5 5 5
-1 -1 -1 0 0 0 1 1 1
-1 -2 -1 0 0 0 1 2 1
SUDESTE -1 -1 1 -1 -2 1 -1 1 1
-3 -3 -3 -3 0 5 -3 5 5
-1 -1 0 -1 0 1 0 1 1
-2 -1 0 -1 0 1 0 1 2
LESTE -1 1 1 -1 -2 1 -1 1 1
-3 -3 5 -3 0 5 -3 -3 5
-1 0 1 -1 0 1 -1 0 1
-1 0 1 -2 0 2 -1 0 1
NORDESTE 1 1 1 -1 -2 1 -1 -1 1
-3 5 5 -3 0 5 -3 -3 -3
0 1 1 -1 0 1 -1 -1 0
0 1 2 -1 0 1 -2 -1 0
Direções das bordas
NPDI - DCC - UFMG 29
Lena – original
NPDI - DCC - UFMG 30
Lena – operador Roberts
NPDI - DCC - UFMG 31
Lena – operador Roberts
| G | = | Gx | + | Gy |
NPDI - DCC - UFMG 32
Lena – operador Sobel
NPDI - DCC - UFMG 33
Lena – operador Sobel
| G | = | Gx | + | Gy |
NPDI - DCC - UFMG 34
Lena – operador Prewitt
NPDI - DCC - UFMG 35
Lena – operador Prewitt
| G | = | Gx | + | Gy |
NPDI - DCC - UFMG 36
Lena – operador Shen & Castan
GEF – Gradient Exponential Filter
NPDI - DCC - UFMG 37
Lena – operador Shen & Castan
DRF – Difference Recursive Filter
NPDI - DCC - UFMG 38
Lena – operador Shen & Castan SDEF – Second Deriv. Exp. Filter
NPDI - DCC - UFMG 39
NPDI - DCC - UFMG 40