Filtro Sobel

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

O filtro Sobel é uma operação utilizada em processamento de imagem, aplicada sobretudo em algoritmos de detecção de contornos.

Em termos técnicos, consiste num operador que calcula diferenças finitas, dando uma aproximação do gradiente da intensidade dos pixels da imagem. Em cada ponto da imagem, o resultado da aplicação do filtro Sobel devolve o gradiente ou a norma deste vector.


Descrição[editar | editar código-fonte]

O filtro Sobel calcula o gradiente da intensidade da imagem em cada ponto, dando a direcção da maior variação de claro para escuro e a quantidade de variação nessa direcção. Assim, obtém-se uma noção de como varia a luminosidade em cada ponto, de forma mais suave ou abrupta.

Com isto consegue-se estimar a presença de uma transição claro-escuro e de qual a orientação desta. Como as variações claro-escuro intensas correspondem a fronteiras bem definidas entre objectos, consegue-se fazer a detecção de contornos.


Formulação[editar | editar código-fonte]

Matematicamente este operador utiliza duas matrizes 3×3 que são convoluídas com a imagem original para calcular aproximações das derivadas - uma para as variações horizontais e uma para as verticais. Sendo \mathbf{A} a imagem inicial então, \mathbf{G_x} e \mathbf{G_y} serão duas imagens que em cada ponto contêm uma aproximação às derivadas horizontal e vertical de A.


\mathbf{G_x} = \begin{bmatrix} 
-1 & 0 & +1 \\
-2 & 0 & +2 \\
-1 & 0 & +1 
\end{bmatrix} * \mathbf{A}
\quad \mbox{e} \quad 
\mathbf{G_y} = \begin{bmatrix} 
+1 & +2 & +1 \\
0 & 0 & 0 \\
-1 & -2 & -1 
\end{bmatrix} * \mathbf{A}

Portanto a magnitude, \mathbf{G}, e a direcção, \mathbf{\Theta}, do gradiente são dados por:

\mathbf{G} = \sqrt{ \mathbf{G_x}^2 + \mathbf{G_y}^2 }
\mathbf{\Theta} = \operatorname{arctan}\left({ \mathbf{G_y} \over \mathbf{G_x} }\right)


Ligações externas[editar | editar código-fonte]