Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference

ID 790148
Date 3/22/2024
Public
Document Table of Contents

MorphTophatBorder

Performs top-hat operation on an image.

Syntax

Case 1: Operating with morphology state structure

IppStatus ippiMorphTophatBorder_<mod>(const Ipp<datatype>* pSrc, int srcStep, Ipp<datatype>* pDst, int dstStep, IppiSize roiSize, IppiBorderType borderType, Ipp<datatype> borderValue, const IppiMorphAdvState* pSpec, Ipp8u* pBuffer);

Supported values for mod:

8u_C1R 32f_C1R

IppStatus ippiMorphTophatBorder_<mod>(const Ipp<datatype>* pSrc, int srcStep, Ipp<datatype>* pDst, int dstStep, IppiSize roiSize, IppiBorderType borderType, const Ipp<datatype> borderValue[3], const IppiMorphAdvState* pSpec, Ipp8u* pBuffer);

Supported values for mod:

8u_C3R 32f_C3R

IppStatus ippiMorphTophatBorder_<mod>(const Ipp<datatype>* pSrc, int srcStep, Ipp<datatype>* pDst, int dstStep, IppiSize roiSize, IppiBorderType borderType, const Ipp<datatype> borderValue[4], const IppiMorphAdvState* pSpec, Ipp8u* pBuffer);

Supported values for mod:

8u_C4R 32f_C4R

Case 2: Operating with morphology specification structure

IppStatus ippiMorphTophatBorder_<mod>(const Ipp<datatype>* pSrc, int srcStep, Ipp<datatype>* pDst, int dstStep, IppiSize roiSize, IppiBorderType borderType, Ipp<datatype> borderValue, const IppiMorphAdvState* pSpec, Ipp8u* pBuffer);

Supported values for mod:

16u_C1R 16s_C1R

IppStatus ippiMorphTophatBorder_1u_C1R(const Ipp8u* pSrc, int srcStep, int srcBitOffset, Ipp8u* pDst, int dstStep, int dstBitOffset, IppiSize roiSize, IppiBorderType borderType, Ipp8u borderValue, const IppiMorphAdvState* pSpec, Ipp8u* pBuffer);

Include Files

ippcv.h

Domain Dependencies

Headers: ippcore.h, ippvm.h, ipps.h, ippi.h

Libraries: ippcore.lib, ippvm.lib, ipps.lib, ippi.lib

Parameters

pSrc

Pointer to the source image ROI.

srcStep

Distance, in bytes, between the starting points of consecutive lines in the source image.

srcBitOffset

Offset, in bits, from the first byte of the source image (for the 1u_C1R flavor).

pDst

Pointer to the destination image ROI.

dstStep

Distance, in bytes, between the starting points of consecutive lines in the destination image.

dstBitOffset

Offset, in bits, from the first byte of the destination image (for the 1u_C1R flavor).

roiSize

Size of the source and destination image ROI.

borderType

Type of border. Possible values are:

ippBorderRepl

Border is replicated from the edge pixels.

ippBorderInMem

Border is obtained from the source image pixels in memory.

borderValue, borderValue[3], borderValue[4]

Constant value to assign to pixels of the constant border. This parameter is applicable only to the ippBorderConst border type.

pSpec

Pointer to the specification structure.

pBuffer

Pointer to the external buffer.

Description

This function operates with ROI (see Regions of Interest in Intel IPP).

This function performs a top-hat operation on a rectangular ROI area inside a one-, three-, or four-channel 2D image using a specified in the advanced morphology state or specification structure mask and the anchor cell. The structure must be initialized by MorphAdvInit beforehand.

The result is equivalent to the opening the source image and following subtraction from the initial source image.

NOTE:

The function can process only images with ROI that does not exceed the maximum width and height roiSize specified by the initialization functions.

Return Values

ippStsNoErr

Indicates no error. Any other value indicates an error or a warning.

ippStsNullPtrErr

Indicates an error condition if one of the specified pointers is NULL.

ippStsSizeErr

Indicates an error condition if roiSize has a field with a zero or negative value, or if one of ROI width or height is greater than corresponding size of ROI passed to the initialization functions.

ippStsStepErr

Indicates an error condition if srcStep or dstStep is less than roiSize.width * <pixelSize>.

ippStsNotEvenStepErr

Indicates an error condition if one of the step values is not divisible by 4 for floating-point images.

ippStsBorderErr

Indicates an error condition if borderType has an illegal value.

See Also