# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

# vision.Convolver System object

Package: vision

Compute 2-D discrete convolution of two input matrices

## Description

The `Convolver` object computes 2-D discrete convolution of two input matrices.

 Note:   Starting in R2016b, instead of using the `step` method to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example, ```y = step(obj,x)``` and `y = obj(x)` perform equivalent operations.

## Construction

`H = vision.Convolver` returns a System object, `H`, that performs two-dimensional convolution on two inputs.

`H = vision.Convolver(Name,Value)` returns a 2-D convolution System object, `H`, with each specified property set to the specified value. You can specify additional name-value pair arguments in any order as (`Name1`, `Value1`,...,`NameN`,`ValueN`).

## Properties

 `OutputSize` Specify dimensions of output This property controls the size of the output scalar, vector, or matrix produced as a result of the convolution between the two inputs. You can set this property to one of `Full` | `Same as first input` | `Valid`. The default is `Full`. When you set this property to `Full`, the object outputs the full two-dimensional convolution with dimension, (Ma+Mb-1, Na+Nb-1). When you set this property to ```Same as first input```, the object outputs the central part of the convolution with the same dimensions as the first input. When you set this property to `Valid`, the object outputs only those parts of the convolution that are computed without the zero-padded edges of any input. For this case, the object outputs dimension, (Ma-Mb+1, Na-Nb+1). (Ma, Na) is the size of the first input matrix and (Mb, Na) is the size of the second input matrix. `Normalize` Whether to normalize the output Set to `true` to normalize the output. The default is `false`.

## Methods

 step Compute 2-D convolution of input matrices
Common to All System Objects
`clone`

Create System object with same property values

`getNumInputs`

Expected number of inputs to a System object

`getNumOutputs`

Expected number of outputs of a System object

`isLocked`

Check locked states of a System object (logical)

`release`

Allow System object property value changes

## Examples

Compute the 2D convolution of two matrices.

``` hconv2d = vision.Convolver; x1 = [1 2;2 1]; x2 = [1 -1;-1 1]; y = step(hconv2d, x1, x2) ```

## Algorithms

This object implements the algorithm, inputs, and outputs described on the 2-D Convolution block reference page. The object properties correspond to the block parameters.