ConvFull

Performs a full convolution of two images.

Syntax

Case 1: Operation on integer data

IppStatus ippiConvFull_<mod>(const Ipp<datatype>* pSrc1, int src1Step, IppiSize src1Size, const Ipp<datatype>* pSrc2, int src2Step, IppiSize src2Size, Ipp<datatype>* pDst, int dstStep, int divisor);

Supported values for mod

8u_C1R 16s_C1R
8u_C3R 16s_C3R
8u_AC4R 16s_AC4R

Case 2: Operation on floating-point data

IppStatus ippiConvFull_<mod>(const Ipp32f* pSrc1, int src1Step, IppiSize src1Size, const Ipp32f* pSrc2, int src2Step, IppiSize src2Size, Ipp32f* pDst, int dstStep);

Supported values formod

32f_C1R
32f_C3R
32f_AC4R

Parameters

pSrc1, pSrc2

Pointers to the source images ROI.

src1Step, src2Step

Distances in bytes between starts of consecutive lines in the source images.

src1Size, src2Size

Sizes in pixels of the source images.

pDst

Pointer to the destination buffer ROI.

dstStep

Distance in bytes between starts of consecutive lines in the destination image.

divisor

The integer value by which the computed result is divided (for operations on integer data only).

Description

The function ippiConvFull is declared in the ippi.h file. It operates with ROI (see Regions of Interest in Intel IPP).

This function performs a full two-dimensional finite linear convolution operation between two source images pointed to by pSrc1 and pSrc2. If we denote the first source image as a matrix f of size Mf by Nf and the second source image as a matrix g of size Mg by Ng, then the destination image h obtained as a result of the function operation will have the size Mh by Nh, where Mh = Mf + Mg - 1 and Nh = Nf + Ng - 1.

The function ippiConvFull implements the following equation to compute values h[i,j] of the destination image:



where 0 i < Mh, 0 i < Nh and



Function flavors that accept input data of the Ipp32f type use the same summation formula, but no scaling of the result is done (divisor = 1 is assumed).

To illustrate the function operation, for the source images f, g of size 3 x 5 represented as



with g = f,

the resulting convolution image h is of size 5 x 9 and contains the following data:



Example “Using the Convolution Functions” shows how to use the function ippiConvFull_16s_C1R.

Return Values

ippStsNoErr

Indicates no error. Any other value indicates an error.

ippStsNullPtrErr

Indicates an error condition if pSrc1, pSrc2, or pDst is NULL.

ippStsSizeErr

Indicates an error condition if src1Size or src2Size has a zero or negative value.

ippStsStepErr

Indicates an error condition if src1Step, src2Step, or dstStep has a zero or negative value.

ippStsDivisorErr

Indicates an error condition if divisor has the zero value.

ippStsMemAllocErr

Indicates an error condition if memory allocation failed.

Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.