canny
&DQQ\ GHWHFomR GH ERUGD
O operador &DQQ\ foi desenvolvido por John F.Canny em 1986 (a partir de sua tese de doutorado, veja bibliografia do curso) e apresentado no SDSHU: "$ &RPSXWDWLRQDO
$SSURDFK WR (GJH 'HWHFWLRQ". Nele se usa um algoritmo multi-passos para detectar a possibilidade de bordas. O mais importante, deste SDSHU é que nele Canny apresenta também uma WHRULD GH GHWHomR GD ERUGD.
O filtro de Canny é um filtro de convolução que usa a SULPHLUD GHULYDGD. Ele suaviza o ruído e localiza bordas, combinando um operador diferencial com um filtro
Gaussiano.
Considere uma borda de uma dimensão como mostrado na primeira imagem da figura 1. Se ela for operada por convolução com a função Gaussiana, o resultado será uma variação contínua do valor inicial ao final, com uma inclinação máxima no ponto onde existe o "degrau", como mostrado na segunda imagem da figura 1. Se esta função, agora continua, for diferenciada em relação à x, a inclinação máxima indicará o máximo da nova função em relação à original, a ultima linha da Figura 1 mostra este resultado.
Figura 1 - Processo de detecção de bordas por Canny
Os pontos de máximos depois da convolução indicarão as bordas na imagem. Este processo pode ser realizado através do uso de uma função Gaussiana em duas dimensões, ou uma função 1D na direção de x e depois na direção y. As formas das máscaras
Gaussianas dependem da escolha do desvio padrão, ), usado, ou seja, o valor de sigma na equação da função gaussiana:
A função Gaussiana uma dimensão, é expressa por:
2π σ
2
* ([) =
−
1
H 2σ
2
2
De modo que sua primeira derivada é:
Filtros de Canny
1
%\ P\VHOI
*′( [) =
2π σ
−
3
¡
−[
H 2σ
2
2
A forma destas duas expressões, isto é a Gaussiana e sua derivada em 1D, são mostradas na figura 2, no gráfico foi usado um desvio padrão que tornasse o valor máximo 1.0 , isto é foi
usado ) = 1/(2%) 0,1592.
Figura 2 - Exemplo de