You are here: Start » AVL.NET » Function Reference » Image » Image Local Transforms » AVL.ConvolveImage

AVL.ConvolveImage

Computes a convolution of the input image with a user-specified mask.

Namespace:AvlNet
Assembly:AVL.NET.dll

Syntax

C++
C#
 
public static void ConvolveImage
(
	AvlNet.Image inImage,
	NullableRef<AvlNet.Region> inRoi,
	AvlNet.Matrix inMask,
	bool inNormalizeMaskValues,
	AvlNet.Location? inMaskOrigin,
	AvlNet.Image outImage
)

Parameters

Name Type Range Default Description
inImageAvlNet.ImageInput image.
inRoiAvlNet.NullableRef<AvlNet.Region>Range of outImage pixels to be computed. Default value: atl::NIL.
inMaskAvlNet.MatrixImage convolution kernel.
inNormalizeMaskValuesboolFalseNormalize sum of weights in mask to one. Default value: False.
inMaskOriginAvlNet.Location?Relative location of point to its mask. Default value: atl::NIL.
outImageAvlNet.ImageOutput image.

Description

The operation computes new value of pixel as a convolution of inImage pixels and the inMask values. Pixels which mask exceeds inRoi region are set to black. Input and output pixel have the same type. If result value does not fit into pixel type you should use ConvertPixelType.

Examples

ConvolveImage performed on the sample image with inMask \( \begin{pmatrix} -1 & -2 & -1 \\ 0 & 0 & 0 \\ 1 & 2 & 1 \\ \end{pmatrix} \).

Hardware Acceleration

This operation supports automatic parallelization for multicore and multiprocessor systems.

This operation supports processing on OpenCL compatible device (when inRoi=NIL).

Hardware acceleration settings may be manipulated with Settings class.

Errors

List of possible exceptions:

Error type Description
DomainError Empty convolution mask on input in ConvolveImage.
DomainError Mask origin is outside the dimensions of the mask in ConvolveImage.
DomainError Region exceeds an input image in ConvolveImage.
DomainError Sum of weights in Mask is equal zero. Cannot normalize values in ConvolveImage.

Function Overrides

See also