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
kernelSize
xkernelSize
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 isNULL.
- ippStsSizeErr
- Indicates an error whenroiSizehas a field with a zero or negative value.
- ippStsBadArgErr
- Indicates an error whenkernelSizeis even, or less than 3; orsigmais less than, or equal to zero.
- ippStsDataTypeErr
- Indicates an error whendataTypehas an illegal value.
- ippStsChannelErr
- Indicates an error whennumChannelshas an illegal value.
- ippStsBorderErr
- Indicates an error whenborderTypehas an illegal value.