IA365I:Exercicios Convolucao

De DCA-Wiki

1 - Qual o núcleo equivalente hr da convolução sucessiva h1 e h2: <math>f(x) * hr(x) = (f(x) * h1(x)) * h2(x) </math>

Resp: Dado que uma a convolução possui propriedade comutativa, então <math> hr(x) = h1(x) * h2(x) </math> (hr é igual a convolução entre h1(x) e h2(x)).

andre.gomes - resposta



2 - Baseado na questão anterior, qual o núcleo equivalente a filtrar uma imagem pelo nucleo [1 0 -1] e em seguida pelo núcleo [1 2 1]' (transposto) ?

Resp:

<math> hr = \begin{bmatrix} 1&0&-1 \end{bmatrix} * \begin{bmatrix} 1 \\ 2 \\ 1 \end{bmatrix}</math>

1o passo - 180 graus da matrix <math>\begin{bmatrix} 1 \\ 2 \\ 1 \end{bmatrix}</math>. O resultado é igual, uma vez que as linhas 1 e 3 possuem o mesmo valor.


2o passo - Encontrar o tamanho da matriz resultante. Para isso, basta somar o número de linhas da 1a matriz (1) com o número de linhas da 2a matriz e subrair 1. Repetir esse procedimento pra encontrar o número de colunas. Resultado = (1x3) + (3x1) - 1 = matriz (3x3)

<math>\begin{bmatrix} 0&0&0 \\ 1&0&-1 \\ 0&0&0 \end{bmatrix}</math>


3o passo - "Passar o núcleo da convolução" em cada elemento da matriz 3x3

Resultado da convolução:

<math> hr = \begin{bmatrix} 1&0&-1 \end{bmatrix} * \begin{bmatrix} 1 \\ 2 \\ 1 \end{bmatrix} = \begin{bmatrix} 1&0&-1 \\ 2&0&-2 \\ 1&0&-1 \end{bmatrix}</math>

andre.gomes - resposta



3 - Existe alguma vantagem na decomposição de núcleo?

Resp: Sabemos que a convolução com núcleos maiores que 3x3 torna complicado o calculo (??), a decomposição do núcleo, criando uma convolução sucessiva, evita este problema (confirmar. Existe mais alguma vantagem ou desvantagem?)

andre.gomes - resposta



4 - Qual é o esquema para extrair a resposta em frequência de uma máscara de convolução ?

Resp: Faz a DFT da máscara em questão e calcula-se a frequência do resultado (confirmar). Ps: Alguém poderia disponibilizar um exemplo ?


5 - Fornecer o código Matlab da convolução 1D linear de f * h. Discutir o domínio das funções f, h e do resultado.

<math>f(x) * h(x) = \sum_{m=0}^{N-1}f(m)h(x-m)</math>

Resp:

andre.gomes - resposta



6 - No caso unidimensional:

f(0)=1; f(1)=2; f(2)=3; f(3)=4; f(4)=5; f(5)=6

e

h(-1)=1; h(0)=2; h(1)=3.

Dar o resultado da convolução periódica de

<math>f(x) *_{N} h(x) = \sum_{m=0}^{N-1}f(m)h(mod(x-m, N))</math>

Resp:

andre.gomes - resposta

andre.gomes - outro exemplo no item 04 deste link


7 - Usando a função f da questão anterior:

a) Dar o resultado da aplicação da filtragem pela máscara de vizinhança 1 x 3 de pesos <math> w_{1}, w_{2}, w_{3} </math> onde:

<math> z=w_{1}z_{1} + w_{2}z_{2} + w_{3}z_{3}</math> com <math>z_{2}</math> o pixel do centro da máscara.

b) Escolha e justifique a sua opção na solução do processamento de bordas da imagem.

c) Compare o resultado desta questão com o resultado obtido na convolução periódica. O que é necessário fazer para que o resultado seja o mesmo nos dois casos?

Resp:

Ferramentas pessoais