Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: Français - Português - 日本語 - Русский
Scilab Help >> Signal Processing > Convolution - Correlation > convol2d

convol2d

discrete 2-D convolution, using fft.

Syntax

C = convol2d(A, B)

Parameters

A

a real or complex 2-D array.

B

a real or complex 2-D array.

C

a real or complex 2-D array.

Description

convol2d uses fft to compute the full two-dimensional discrete convolution. 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).

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
C = convol2d(s, A);
clean(C)
--> s = [1 2 1; 0 0 0; -1 -2 -1] // Sobel horizontal edge kernel
 s  =
   1.   2.   1.
   0.   0.   0.
  -1.  -2.  -1.

--> A = zeros(10,10); A(3:7,3:7) = 1
 A  =
   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.
   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.
   0.   0.   1.   1.   1.   1.   1.   0.   0.   0.
   0.   0.   1.   1.   1.   1.   1.   0.   0.   0.
   0.   0.   1.   1.   1.   1.   1.   0.   0.   0.
   0.   0.   1.   1.   1.   1.   1.   0.   0.   0.
   0.   0.   1.   1.   1.   1.   1.   0.   0.   0.
   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.
   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.
   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.

--> C = convol2d(s, A);
--> clean(C)
 ans  =
   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.
   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.
   0.   0.   1.   3.   4.   4.   4.   3.   1.   0.   0.   0.
   0.   0.   1.   3.   4.   4.   4.   3.   1.   0.   0.   0.
   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.
   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.
   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.
   0.   0.  -1.  -3.  -4.  -4.  -4.  -3.  -1.   0.   0.   0.
   0.   0.  -1.  -3.  -4.  -4.  -4.  -3.  -1.   0.   0.   0.
   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.
   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.
   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.   0.

See also

  • conv2 — discrete 2-D convolution.
  • conv — discrete 1-D convolution.
  • convol — convolution
  • real — real part of complex numbers, polynomials, or rationals
  • clean — cleans matrices (round to zero small entries)

History

VersionDescription
5.4.0 Function convol2d introduced.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 25 08:49:19 CET 2020