# 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 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 \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} }$
onde $$ 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 {\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}}}$$$
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:
    $\mathbf {G} ={\sqrt {{\mathbf {G} _{x}}^{2}+{\mathbf {G} _{y}}^{2}}}$$$
Usando esta informação, podemos também calcular o gradiente de direção:
    $\mathbf {\Theta } =\operatorname {atan2} \left({\mathbf {G} _{y},\mathbf {G} _{x}}\right)$$$
onde, por exemplo, $\Theta$ 0 para uma aresta vertical, que é mais escuro no lado direito.

## Veja também

* Laplaciano