API Quick Reference Guide

  • 2020
  • 09/30/2019
  • Public Content
Contents

iwiFilterBilateral

Syntax

typedef struct _IwiFilterBilateralParams { IppiFilterBilateralType filter; IppiDistanceMethodType distMethod; } IwiFilterBilateralParams;
static IW_INLINE void iwiFilterBilateral_SetDefaultParams( IwiFilterBilateralParams *pParams )
IW_DECL(IppStatus) iwiFilterBilateral( const IwiImage *pSrcImage, IwiImage *pDstImage, int radius, Ipp32f valSquareSigma, Ipp32f posSquareSigma, const IwiFilterBilateralParams *pAuxParams, IppiBorderType border, const Ipp64f *pBorderVal, const IwiTile *pTile );
Parameters
pSrcImage
Pointer to the source image.
pDstImage
Pointer to the destination image.
radius
Radius of the circular neighborhood that contains pixels for calculation.
valSquareSigma
Square of the Sigma value for the factor function for pixel intensity.
posSquareSigma
Square of the Sigma value for the factor function for pixel position.
border
Extrapolation algorithm for out of image pixels processing. Supported values:
ippBorderConst
Values of all border pixels are set to a constant.
ippBorderRepl
Border is replicated from the edge pixels.
ippBorderMirror
Border pixels are mirrored from the source image boundary pixels.
ippBorderInMem
Border is obtained from the source image pixels in memory.
pBorderVal
Pointer to an array of values to assign to pixels of the constant border, one element of the array for each channel of the image. This parameter is applicable only to the
ippBorderConst
border type and can be
NULL
for other border types.
pTile
Pointer to the
IwiTile
structure for tiling. If
NULL
, the whole image is processed.
Auxiliary Arguments
Argument
Default Value
Description
filter
ippiFilterBilateralGauss
Type of the bilateral filter. The only supported value is
ippiFilterBilateralGauss
.
distMethod
ippDistNormL1
Method for definition of distance between pixel intensities. The only supported value is
ippDistNormL1
.
Description
This function performs bilateral filtering of an image.
This function supports the following features:
Feature
Support
Internal threading
Yes (check the
IW_ENABLE_THREADING_LAYER
definition)
Manual tiling
Yes
IwiTile
simple tiling
Yes
IwiTile
pipeline tiling
Yes
Return Values
ippStsSizeErr
Values of the
size
fields are illegal.
ippStsBadArgErr
valSquareSigma
or
posSquareSigma
is less than or equal to 0.
ippStsMaskSizeErr
The
radius
value is less than or equal to 0.
ippStsBorderErr
The
border
value is illegal.
ippStsDataTypeErr
The
dataType
value is illegal.
ippStsNumChannelsErr
The
channels
value is illegal.
ippStsNotEvenStepErr
The step value is not divisible by size of elements.
ippStsNotSupportedModeErr
The
filter
and/or
distMethod
value is not supported.
ippStsNoMemErr
Failed to allocate memory.
ippStsInplaceModeNotSupportedErr
In-place operation is not supported:
pSrcImage
is equal to
pDstImage
.
ippStsNullPtrErr
At least one of the pointers (except
pBorderVal
and
pTile
) is
NULL
.
ippStsNoErr
No errors.

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