Intel IPP Integration Wrappers Developer Guide and Reference

ID 751823
Date 1/18/2023
Public
Document Table of 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

Thefilter 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.