convolucao

Alguns conceitos básicos de convolução digital.

Filtros lineares e invariantes à translação.

Invariante à translação:

F(A_x) = [F(A)]_x

Filtro Linear:

F(k1 A + k2 B) = k1 F(A) + k2 F(B)

Todo filtro linear e invariante à translação pode ser implementado pela convolução.

Resposta ao impulso da convolução:

I * h = h, onde I é uma imagem impulso.

Isto significa para se caracterizar um filtro linear e invariante à translação desconhecido, basta buscar sua resposta ao impulso.

Uma propriedade útil é a comutatividade, isto é: f * h = h * f Entretanto, do ponto de vista prático e de implementação, é usual ter um tratamento eficiente para o caso onde f é a imagem (normalmente grande) e h é o núcleo da convolução que é tipicamente pequeno.

A questão da origem da máscara de convolução:

f * h_x = f_x * h = (f * h)_x

Decomposição da máscara de convolução

Quando h pode ser decomposto na forma h1 * h2, a implementação usando a forma decomposta é usualmente mais rápida:

f * h = f * (h1 * h2) = (f * h1) * h2

Por exemplo, a máscara de média de 9 pixels pode ser decomposta pela convolução da máscara horizontal de média de 3 pixels pela máscara de média vertical de 3 pixels. No primeiro caso, haverá uma operação com 9 imagens enquanto que no segundo, apenas 6 imagens.

A questão do tratamento de bordas.

Convolução truncada. Neste caso não algumas propriedades não valem.