Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes


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.
Report an issue
<< convol Convolution - Correlation corr >>

Copyright (c) 2022-2023 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Nov 07 14:58:53 CET 2022