conv2
Convolução bidimensional de duas matrizes.
Categoria: Mathematics > Fourier Analysis and Filtering
Sintaxe
C = conv2(A, B)
Retorna a convolução completa, de tamanho size(A)+size(B)-1.
C = conv2(A, B, shape)
Retorna a parte escolhida por shape: 'full', 'same' ou 'valid'.
C = conv2(u, v, A)
Convolui as colunas de A com o vetor u e depois as linhas com o vetor v.
Descrição
Cada elemento da saída é uma soma de produtos de A com o kernel B girado em 180 graus, com A tratada como zero fora de suas bordas. A convolução é a operação por trás de desfoque, detecção de bordas e outros filtros de imagem.
A forma de três argumentos com dois vetores é um filtro separável: dá o mesmo resultado que convoluir com o produto externo u*v.', mas com menos operações.
Argumentos de entrada
A, B- Matrizes numéricas.
Bcostuma ser o kernel menor. shape'full'(padrão) retorna todos os pontos;'same'retorna a parte central com o tamanho deA;'valid'retorna apenas os pontos calculados sem preenchimento com zeros.
Argumentos de saída
C- Resultado da convolução.
Exemplo
Full, same e valid
A = [1 2 3; 4 5 6; 7 8 9];
conv2([1 2; 3 4], ones(2))
conv2(A, [0 1 0; 1 1 1; 0 1 0], 'same')
conv2(A, [1 0; 0 -1], 'valid')
Saída
ans = 3×3
1 3 2
4 10 6
3 7 4
ans = 3×3
7 11 11
17 25 23
19 29 23
ans = 2×2
4 4
4 4