Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference

ID 790148
Date 3/22/2024
Public
Document Table of Contents

FilterGaussianInit

Initializes the Gaussian context structure.

Syntax

IppStatus ippiFilterGaussianInit(IppiSize roiSize, Ipp32u kernelSize, Ipp32f sigma, IppiBorderType borderType, IppDataType dataType, int numChannels, IppFilterGaussianSpec* pSpec, Ipp8u* pBuffer);

Platform-aware functions

IppStatus ippiFilterGaussianInit_L(IppiSizeL roiSize, int kernelSize, Ipp32f sigma, IppiBorderType borderType, IppDataType dataType, int numChannels, IppFilterGaussianSpec* pSpec, Ipp8u* pInitBuffer);

Include Files

ippcv.h

Flavors with the _L suffix: ippcv_l.h

Domain Dependencies

Headers: ippcore.h, ippvm.h, ipps.h, ippi.h

Libraries: ippcore.lib, ippvm.lib, ipps.lib, ippi.lib

Parameters

roiSize

Size of the image ROI in pixels.

kernelSize

Size of the Gaussian filter kernel. The value must be odd and greater, or equal to 3.

sigma

Standard deviation of the Gaussian kernel.

borderType

Type of border. Possible values are:

ippBorderConst

Values of all border pixels are set to constant.

ippBorderRepl

Border is replicated from the edge pixels.

ippBorderInMem

Border is obtained from the image pixels in memory.

ippBorderMirror

Border pixels are mirrored from the source image boundary pixels.

dataType

Data type of the source and destination images.

numChannels

Number of channels in the images. Possible values are 1 and 3.

pSpec

Pointer to the Gaussian specification structure.

pBuffer, pInitBuffer

Pointer to the external buffer.

Description

This function operates with ROI (see Regions of Interest in Intel IPP).

This function initializes the Gaussian specification structure pSpec for the FilterGaussianBorder function or for the platform-aware function FilterGaussian. Before using this function, compute the size of the specification structure and the external buffer using the FilterGaussianGetBufferSize function and FilterGaussianGetSpecSize for the platform-aware function.

The roiSize and kernelSize values must be less than, or equal to the corresponding values specified in the FilterGaussianGetBufferSize function.

The kernel of the Gaussian filter is the matrix of size kernelSizexkernelSize with the standard deviation sigma. The values of the Gaussian kernel elements are calculated by the formula below and then normalized:

The anchor cell is the center of the kernel.

For an example on how to use this function, refer to the example provided with the FilterGaussianBorder function description.

Return Values

ippStsNoErr

Indicates no error. Any other value indicates an error.

ippStsNullPtrErr

Indicates an error when one of the specified pointers is NULL.

ippStsSizeErr

Indicates an error when roiSize has a field with a zero or negative value.

ippStsBadArgErr

Indicates an error when kernelSize is even, or less than 3; or sigma is less than, or equal to zero.

ippStsDataTypeErr

Indicates an error when dataType has an illegal value.

ippStsChannelErr

Indicates an error when numChannels has an illegal value.

ippStsBorderErr

Indicates an error when borderType has an illegal value.

See Also