Visible to Intel only — GUID: GUID-E73D8711-0862-4DEF-9B85-E13313FE074B
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:
|
||||||||
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. |