Conceito de Convolução
Este tutorial é sobre um dos conceitos muito importantes de sinais e sistema. Discutiremos completamente a convolução. O que é isso? Porque é isso? O que podemos conseguir com isso?
Começaremos discutindo a convolução a partir dos fundamentos do processamento de imagens.
O que é processamento de imagem
Como discutimos na introdução aos tutoriais de processamento de imagem e no sinal e sistema, esse processamento de imagem é mais ou menos o estudo de sinais e sistemas porque uma imagem nada mais é do que um sinal bidimensional.
Também discutimos que, no processamento de imagens, estamos desenvolvendo um sistema cuja entrada é uma imagem e a saída seria uma imagem. Isso é representado pictoricamente como.
![](https://assets.edu.lat/dip/images/conceptconvolution1.jpg)
A caixa é a que é mostrada na figura acima rotulada como "Sistema de processamento de imagem digital" pode ser considerada como uma caixa preta
Pode ser melhor representado como:
![](https://assets.edu.lat/dip/images/conceptconvolution2.jpg)
Onde chegamos até agora
Até agora, discutimos dois métodos importantes para manipular imagens. Ou em outras palavras, podemos dizer que, nossa caixa preta funciona de duas maneiras diferentes até agora.
As duas maneiras diferentes de manipular imagens eram
Gráficos (histogramas)
![](https://assets.edu.lat/dip/images/conceptconvolution3.jpg)
Este método é conhecido como processamento de histograma. Discutimos isso em detalhes em tutoriais anteriores para aumentar o contraste, aprimoramento de imagem, brilho, etc.
Funções de transformação
![](https://assets.edu.lat/dip/images/conceptconvolution4.jpg)
Este método é conhecido como transformações, em que discutimos diferentes tipos de transformações e algumas transformações de nível de cinza
Outra forma de lidar com imagens
Aqui vamos discutir outro método de lidar com imagens. Este outro método é conhecido como convolução. Normalmente, a caixa preta (sistema) usada para processamento de imagem é um sistema LTI ou sistema linear invariante no tempo. Por linear, queremos dizer que tal sistema onde a saída é sempre linear, nem log, nem expoente ou qualquer outro. E por invariante no tempo queremos dizer um sistema que permanece o mesmo durante o tempo.
Portanto, agora vamos usar este terceiro método. Ele pode ser representado como.
![](https://assets.edu.lat/dip/images/conceptconvolution5.jpg)
Pode ser representado matematicamente de duas maneiras
g(x,y) = h(x,y) * f(x,y)
Isso pode ser explicado como a “máscara convolvida com uma imagem”.
Ou
g(x,y) = f(x,y) * h(x,y)
Pode ser explicado como “imagem convolvida com máscara”.
Existem duas maneiras de representar isso porque o operador de convolução (*) é comutativo. O h (x, y) é a máscara ou filtro.
O que é máscara?
A máscara também é um sinal. Ele pode ser representado por uma matriz bidimensional. A máscara é geralmente da ordem de 1x1, 3x3, 5x5, 7x7. Uma máscara deve sempre estar em número ímpar, porque caso contrário você não pode encontrar o meio da máscara. Por que precisamos encontrar o meio da máscara. A resposta está abaixo, no tópico de como realizar a convolução?
Como fazer a convolução?
Para realizar a convolução em uma imagem, as seguintes etapas devem ser executadas.
- Vire a máscara (horizontal e verticalmente) apenas uma vez
- Deslize a máscara na imagem.
- Multiplique os elementos correspondentes e, em seguida, adicione-os
- Repita este procedimento até que todos os valores da imagem tenham sido calculados.
Exemplo de convolução
Vamos fazer alguma convolução. A etapa 1 é virar a máscara.
mascarar
Vamos usar nossa máscara para ser isso.
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
Virando a máscara horizontalmente
3 | 2 | 1 |
6 | 5 | 4 |
9 | 8 | 7 |
Virando a máscara verticalmente
9 | 8 | 7 |
6 | 5 | 4 |
3 | 2 | 1 |
Imagem
Vamos considerar uma imagem como esta
2 | 4 | 6 |
8 | 10 | 12 |
14 | 16 | 18 |
Convolução
Máscara convolvente sobre imagem. Isso é feito dessa maneira. Coloque o centro da máscara em cada elemento de uma imagem. Multiplique os elementos correspondentes e, em seguida, adicione-os e cole o resultado no elemento da imagem em que você posiciona o centro da máscara.
![](https://assets.edu.lat/dip/images/conceptconvolution6.jpg)
A caixa em vermelho é a máscara, e os valores em laranja são os valores da máscara. A caixa preta e os valores pertencem à imagem. Agora, para o primeiro pixel da imagem, o valor será calculado como
Primeiro pixel = (5 * 2) + (4 * 4) + (2 * 8) + (1 * 10)
= 10 + 16 + 16 + 10
= 52
Coloque 52 na imagem original no primeiro índice e repita este procedimento para cada pixel da imagem.
Por que convolução
A convolução pode realizar algo que os dois métodos anteriores de manipulação de imagens não conseguem. Isso inclui desfoque, nitidez, detecção de bordas, redução de ruído, etc.