Intel IPP Integration Wrappers Developer Guide and Reference

ID 751823
Date 1/18/2023
Public
Document Table of Contents

iwiFilterBilateral

Syntax

class IwiFilterBilateralParams: public ::IwiFilterBilateralParams
{
public:
    IW_BASE_PARAMS_CONSTRUCTORS(IwiFilterBilateralParams, iwiFilterBilateral_SetDefaultParams)
    IwiFilterBilateralParams(IppiFilterBilateralType filter = ippiFilterBilateralGauss,
        IppiDistanceMethodType distMethod = ippDistNormL1)
};

IW_DECL_CPP(IppStatus) iwiFilterBilateral(
    const IwiImage                 &srcImage,
    IwiImage                       &dstImage,
    int                             radius,
    Ipp32f                          valSquareSigma,
    Ipp32f                          posSquareSigma,
    const IwiFilterBilateralParams &auxParams   = IwiFilterBilateralParams(),
    const IwiBorderType            &border      = ippBorderRepl,
    const IwiTile                  &tile        = IwiTile()
);

Parameters

srcImage

Reference to the source image.

dstImage

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

auxParams

Reference to the auxiliary parameters structure.

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.

tile

Reference to the IwiTile object for tiling. By default no tiling is used.

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. For more information, refer to the iwiFilterBilateral function description in C Reference.

Return Values

ippStsNoErr

No errors.

Exception 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 srcStep and/or dstStep 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 tile) is NULL.