Operador Prewitt

O operador de Prewitt é usado no processamento de imagem, particularmente na detecção de borda algoritmos. Tecnicamente, é uma operador de diferença, calcular uma aproximação do gradiente da imagem de intensidade de função. Em cada ponto da imagem, o resultado do operador de Prewitt é o correspondente vetor gradiente ou a norma deste vetor. O operador de Prewitt é baseado na realização de uma convolução da imagem com um filtro de valores inteiros e separáveis em direções horizontal e vertical e, portanto, é relativamente barato em termos de cálculos, como Sobel e Kayyali[1] operadores. Por outro lado, o gradiente de aproximação que ele produz é relativamente bruto, em particular para a alta frequência de variações na imagem. O operador de Prewitt foi desenvolvido por Judith M. S. Prewitt.

Descrição simplificada

Em termos simples, o operador calcula o gradiente da imagem de intensidade em cada ponto, dando a direção da maior aumento possível do claro para o escuro e a taxa de mudança em que direção. O resultado indica, portanto, como "abruptamente" ou "suave" altera a imagem naquele ponto, e, portanto, é a probabilidade de que parte da imagem representa uma borda, bem como a forma que a borda é susceptível de ser orientado. Na prática, a magnitude (probabilidade de uma aresta) o cálculo é mais confiável e mais fácil de interpretar do que a direção de cálculo.

Matematicamente, o gradiente de uma variável de função (aqui a imagem da função intensidade ) é, em cada ponto de imagem um vetor 2D com os componentes dados pelas derivadas nas direções horizontal e vertical. Em cada ponto de imagem, o vetor de gradiente aponta na direção do maior aumento de intensidade possível, e o comprimento do vetor de gradiente corresponde à taxa de alteração nessa direção. Isto implica que o resultado do operador de Prewitt em um ponto de imagem que está em uma região de constante intensidade de imagem é um vetor zero e em um ponto sobre uma aresta é um vetor que aponta para toda a borda, do valor mais escuro para o mais claro.

Formulação

Matematicamente, o operador usa dois 3×3 kernels que são convolucionadas com a imagem original para calcular aproximações das derivadas - uma para alterações horizontais, e uma para verticais. Se definirmos como a imagem de origem, e são duas imagens que em cada ponto contém a horizontal e a vertical de derivados de aproximações, os últimos são calculados como: {\displaystyle } {\displaystyle } {\displaystyle }

G x = [ 1 0 1 1 0 1 1 0 1 ] A and G y = [ 1 1 1 0 0 0 1 1 1 ] A {\displaystyle {\displaystyle \mathbf {G_{x}} ={\begin{bmatrix}-1&0&1\\-1&0&1\\-1&0&1\end{bmatrix}}*\mathbf {A} \quad {\mbox{and}}\quad \mathbf {G_{y}} ={\begin{bmatrix}-1&-1&-1\\0&0&0\\1&1&1\end{bmatrix}}*\mathbf {A} }} [2]

onde {\displaystyle } aqui denota uma operação de deconvolução 1-dimensional.

Como os kernels Prewitt podem ser decompostos como produtos de um kernel de média e diferenciação, eles calculam o gradiente com suavização. Portanto, é um filtro separável. Por exemplo, pode ser escrito como {\displaystyle }

[ 1 0 1 1 0 1 1 0 1 ] = [ 1 1 1 ] [ 1 0 1 ] {\displaystyle {\displaystyle {\begin{bmatrix}-1&0&1\\-1&0&1\\-1&0&1\end{bmatrix}}={\begin{bmatrix}1\\1\\1\end{bmatrix}}{\begin{bmatrix}-1&0&1\end{bmatrix}}}} {\displaystyle }

O x-coordenar é aqui definido como o aumento no "direito"-direção, e o y-coordenadas é definido como o aumento no "de baixo"-direção. Em cada ponto da imagem, resultante do gradiente de aproximações podem ser combinadas para dar a magnitude do gradiente, usando:

G = G x 2 + G y 2 {\displaystyle \mathbf {G} ={\sqrt {{\mathbf {G} _{x}}^{2}+{\mathbf {G} _{y}}^{2}}}} {\displaystyle }

Usando esta informação, podemos também calcular o gradiente de direção:

Θ = atan2 ( G y , G x ) {\displaystyle \mathbf {\Theta } =\operatorname {atan2} \left({\mathbf {G} _{y},\mathbf {G} _{x}}\right)} {\displaystyle }

onde, por exemplo, Θ {\displaystyle \Theta } 0 para uma aresta vertical, que é mais escuro no lado direito.

Veja também

  • Laplaciano

Referências

  1. «Alternative Approach for Satellite Cloud Classification: Edge Gradient Application». Advances in Meteorology. 2013. ISSN 1687-9309. doi:10.1155/2013/584816 
  2. «Comparisions of Robert, Prewitt, Sobel operator based edge detection methods for real time uses on FPGA - IEEE Conference Publication». ieeexplore.ieee.org (em inglês). Consultado em 11 de novembro de 2018