iwiFilterBilateral
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 theIwiTileobject 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 thesizefields are illegal.
- ippStsBadArgErr
- valSquareSigmaorposSquareSigmais less than or equal to 0.
- ippStsMaskSizeErr
- Theradiusvalue is less than or equal to 0.
- ippStsBorderErr
- Thebordervalue is illegal.
- ippStsDataTypeErr
- ThedataTypevalue is illegal.
- ippStsNumChannelsErr
- Thechannelsvalue is illegal.
- ippStsNotEvenStepErr
- ThesrcStepand/ordstStepvalue is not divisible by size of elements.
- ippStsNotSupportedModeErr
- Thefilterand/ordistMethodvalue is not supported.
- ippStsNoMemErr
- Failed to allocate memory.
- ippStsInplaceModeNotSupportedErr
- In-place operation is not supported:pSrcImageis equal topDstImage.
- ippStsNullPtrErr
- At least one of the pointers (excepttile) isNULL.