conv2

discrete 2-D convolution.

Calling Sequence

C = conv2(A,B [,shape])
C = conv2(hrow,hcol,B [,shape])

Parameters

:hrow a real or complex vector. : :hcol a real or complex vector. : :A a real or complex 2-D array. : :B a real or complex 2-D array. : :shape an optional character string with possible values:

  • “full”, conv2 computes the full two-dimensional convolution. It is the default value.
  • “same”, conv2 computes the central part of the convolution of the same size as A.
  • “valid”, conv2 computes the convolution parts without the zero- padding of A.

: :C a real or complex 2-D array. :

Description

conv2 uses a straightforward formal implementation of the two- dimensional convolution equation in spatial form.

C=conv2(A,B [,shape]) computes the two-dimensional convolution of the arrays A and B:

  • With shape==”full” the dimensions of the result C are given by size(A)+size(B)+1. The indices of the center element of B are defined as floor((size(B)+1)/2).
  • With shape==”same” the dimensions of the result C are given by size(A). The indices of the center element of B are defined as floor((size(B)+1)/2).
  • With shape==”valid” the dimensions of the result C are given by size(A)-size(B)+1) if and(size(A)-size(B))>=0 else C is empty . The indices of the center element of B are defined as [1 1] .

The separable form C=conv2(hrow,hcol,B [,shape])`is equivalent to `C=conv2(hrow(:)*hcol(:).’,B [,shape]) . Note that `convol2d`_ can be more efficient for large arrays.

Examples

s = [1 2 1; 0 0 0; -1 -2 -1];//Sobel horizontal edge kernel
A = `zeros`_(10,10);A(3:7,3:7) = 1;
conv2(s,A);

//separable form
u=[1;0;-1];v=[1 2 1];// u*v=s
conv2(u,v,A)

History

Version Description 5.4.0 Function conv2 introduced. .. _conv: conv.html .. _convol2d: convol2d.html

Table Of Contents

This Page