Intel IPP Integration Wrappers Developer Guide and Reference

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

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 the IwiTile object 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

The kernel 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.

ippStsBorderErr

The border value is illegal.

ippStsNoMemErr

Failed to allocate memory.

ippStsSizeErr

Values of the size fields are illegal.

ippStsInplaceModeNotSupportedErr

In-place operation is not supported: pSrc is equal to pDst.

ippStsNullPtrErr

At least one of the pointers (except tile) is NULL.