Developer Reference

  • 2020
  • 07/15/2020
  • Public Content
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
kernelSize
x
kernelSize
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.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804