iwiFilterMorphology
iwiFilterMorphology
Syntax
class IwiFilterMorphologyParams: public ::IwiFilterMorphologyParams
{
public:
IW_BASE_PARAMS_CONSTRUCTORS(IwiFilterMorphologyParams, iwiFilterMorphology_SetDefaultParams)
IwiFilterMorphologyParams(int iterations = 1)
};
IW_DECL_CPP(IppStatus) iwiFilterMorphology(
const IwiImage &srcImage,
IwiImage &dstImage,
IwiMorphologyType morphType,
const IwiImage &maskImage,
const IwiFilterMorphologyParams &auxParams = IwiFilterMorphologyParams(),
const IwiBorderType &border = ippBorderRepl,
const IwiTile &tile = IwiTile()
);
Parameters
- srcImage
- Reference to the source image.
- dstImage
- Reference to the destination image.
- morphType
- Type of the morphological filter.
- maskImage
- Reference to the morphology mask image. Mask must be continuous, 8-bit, 1-channel image.
- 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 |
---|---|---|
iterations | 1 | Number of repeated morphology operations to apply |
Description
This function applies a morphological filter of the specified type and kernel size to the source image. The values of border pixels are assigned in accordance with the
border
and borderValue
parameters. Return Values
- ippStsNoErr
- No errors.
Exception Values
- ippStsNotSupportedModeErr
- Specified combination of parameters' values is not supported.
- ippStsMaskSizeErr
- Thekernelvalue is illegal.
- ippStsDataTypeErr
- ThedataTypevalue is illegal.
- ippStsNumChannelsErr
- Thechannelsvalue is illegal.
- ippStsNotEvenStepErr
- ThesrcStepand/ordstStepvalue is not divisible by size of elements.
- ippStsBorderErr
- Thebordervalue is illegal.
- ippStsNoMemErr
- Failed to allocate memory.
- ippStsSizeErr
- Values of thesizefields are illegal.
- ippStsInplaceModeNotSupportedErr
- In-place operation is not supported:pSrcis equal topDst.
- ippStsNullPtrErr
- At least one of the pointers (excepttile) isNULL.