Operador Prewitt

Origem: Wikipédia, a enciclopédia livre.

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[editar | editar código-fonte]

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[editar | editar código-fonte]

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:

[2]

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

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:

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

onde, por exemplo, 0 para uma aresta vertical, que é mais escuro no lado direito.

Veja também[editar | editar código-fonte]

Referências[editar | editar código-fonte]