Escolar Documentos
Profissional Documentos
Cultura Documentos
Metodo de Deteccao de Bordas Sobel
Metodo de Deteccao de Bordas Sobel
Rafael Kunz
Tiago Joner
Marcelo Laux
Jean Meiners
Computao Grfica
Professora Marta Rosecler Bez El Boukhair
Introduo
Os mtodos de deteco de bordas so ferramentas de grande utilidade dentro da
rea de tratamento de imagens. Neste trabalho iremos abordar o mtodo Sobel,
explicando seu funcionamento e suas caractersticas.
Histria
Os primeiros trabalhos neste campo foram apresentados da dcada de 80. Este
processo de deteco de imagens era feito atravs da convoluo da imagem original
com o Laplaciano da funo Gaussina. Em 1984 surgiu o trabalho de Koenderink, que
relacionava a estrutura das imagens equao do calor, utilizando a evoluo temporal
para a suavizao das imagens. A aplicao pura da equao demarcava as bordas, mas
tambm deteriorava a imagem.
Sethian props a equao do fluxo da curvatura mdia. Primeiramente os
resultados eram satisfatrios, porm ainda no eram capazes de preservar a localizao
das bordas da imagem.
Perona & Malik introduziram o modelo de suavizao seletiva da imagem,
combinaram a difuso direcionada com o processo de deteco de bordas. Este modelo
passou a ser referenciado como modelo de difuso linear e fornecia um bom algoritmo
para deteco de bordas, remoo de rudos e segmentao de imagens.
Filtro Gaussiano
Forma discreta 3x3 aproximada da funo Gaussiana
1 2 1
1
Z=
2
4
2
16
1 2 1
O operador de suavizamento Gaussiano basicamente uma operao de convoluo,
utilizada para borrar uma imagem digital com o objetivo de remover detalhes e
rudos.
// Cdigo fonte, desenvolvido o filtro gaussiano em Delphi.
for i := 1 to (Resultado_Gauss.Width - 2) do
begin
for j := 1 to (Resultado_Gauss.Height - 2) do
begin
// aplicando a matriz de Gauss.
VarZ :=
(i-1,j-1) * MatrizZ[0,0] +
(i ,j-1) * MatrizZ[1,0] +
(i+1,j-1) * MatrizZ[2,0] +
(i-1, j) * MatrizZ[0,1] +
(i , j) * MatrizZ[1,1] +
(i+1, j) * MatrizZ[2,1] +
(i-1,j+1) * MatrizZ[0,2] +
(i ,j+1) * MatrizZ[1,2] +
(i+1,j+1) * MatrizZ[2,2] ;
Resultado_Gauss.Canvas.Pixels[i, j] := Trunc(VarZ / 16);
end;
End;
Mtodo Sobel
O filtro Sobel consiste num operador que calcula diferenas finitas, dando uma
aproximao do gradiente da intensidade dos pixels da imagem. Ele calcula o gradiente
da intensidade da imagem em cada ponto, dando a direo da maior variao de claro
para escuro e a quantidade de variao nesta direo. Assim obtm-se uma noo de
como varia a luminosidade em cada ponto, de forma mais suave ou expressiva.
Com isto consegue-se estimar a presena de uma transio de claro para escuro,
ou vice e versa, e qual a orientao desta transio. Como as variaes bruscas de
tonalidade, luz e cor correspondem a fronteiram bem definidas entre objetos, o mtodo
consegue fazer a deteco e delimitao dos contornos.
0 +1 |
Gx = | -2
0 +2 |
| -1
0 +1 |
| +1 +2 +1 |
e
Gy = | 0
0 |
| -1 -2 -1 |
,j-1) * MatrizX[1,0] +
(i+1,j-1) * MatrizX[2,0] +
(i-1,j+1) * MatrizX[0,2] +
(i
,j+1) * MatrizX[1,2] +
(i+1,j+1) * MatrizX[2,2];
VarY :=
(i-1,j-1) * MatrizY[0,0] +
(i-1,
j) * MatrizY[0,1] +
(i-1,j+1) * MatrizY[0,2] +
(i+1,j-1) * MatrizY[2,0] +
(i+1,
j) * MatrizY[2,1] +
(i+1,j+1) * MatrizY[2,2];
// Inicia a criaao da nova imagem aplicando Sobel.
// Eleva ao quadrado e extrai a raiz quadrada
VarG := VarX * VarX + VarY * VarY
Cinza := round(sqrt(VarG));
Concluso
O mtodo de deteco de borda Sobel bastante sofisticado. Trata-se de um
algoritmo complexo, mas bastante adaptativo, pois esta apto a ser utilizado para
deteco de bordas de qualquer imagem.
Devido a grande quantidade de rudos que as imagens de teste tiveram buscamos
implementar o filtro Gaussiano e notamos que a utilizao deste mtodo de suavizao
melhorou significativamente a aplicao do mtodo Sobel deixando a borda com mais
qualidade.
Tivemos algumas dificuldades em encontrar material terico sobre o mtodo
Sobel na internet e os poucos materiais que encontramos no aprofundavam o suficiente
para nosso melhor entendimento. Porm, diferente da parte terica a parte prtica teve
grande importncia para nos facilitar o entendimento e agilizar o nosso trabalho,
utilizamos trechos de cdigo fonte disponibilizados na internet para a implementao do
mtodo de Sobel.
Bibliografias
http://pt.wikipedia.org/wiki/Filtro_Sobel
http://pt.wiktionary.org/wiki/borda
http://www.imagesurvey.com.br/2009/10/deteccao-de-bordas/