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

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

FilterHipassBorder

Filters an image using a high-pass filter.

Syntax

Case 1: Operating on one-channel data

IppStatus ippiFilterHipassBorder_8u_C1R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, Ipp8u borderValue, Ipp8u* pBuffer);

IppStatus ippiFilterHipassBorder_16s_C1R(const Ipp16s* pSrc, int srcStep, Ipp16s* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, Ipp16s borderValue, Ipp8u* pBuffer);

IppStatus ippiFilterHipassBorder_32f_C1R(const Ipp32f* pSrc, int srcStep, Ipp32f* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, Ipp32f borderValue, Ipp8u* pBuffer);

Case 2: Operating on multi-channel data

IppStatus ippiFilterHipassBorder_8u_C3R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp8u pBorderValue[3], Ipp8u* pBuffer);

IppStatus ippiFilterHipassBorder_16s_C3R(const Ipp16s* pSrc, int srcStep, Ipp16s* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp16s pBorderValue[3], Ipp8u* pBuffer);

IppStatus ippiFilterHipassBorder_32f_C3R(const Ipp32f* pSrc, int srcStep, Ipp32f* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp32f pBorderValue[3], Ipp8u* pBuffer);

IppStatus ippiFilterHipassBorder_8u_AC4R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp8u pBorderValue[3], Ipp8u* pBuffer);

IppStatus ippiFilterHipassBorder_16s_AC4R(const Ipp16s* pSrc, int srcStep, Ipp16s* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp16s pBorderValue[3], Ipp8u* pBuffer);

IppStatus ippiFilterHipassBorder_32f_AC4R(const Ipp32f* pSrc, int srcStep, Ipp32f* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp32f pBorderValue[3], Ipp8u* pBuffer);

IppStatus ippiFilterHipassBorder_8u_C4R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp8u pBorderValue[4], Ipp8u* pBuffer);

IppStatus ippiFilterHipassBorder_16s_C4R(const Ipp16s* pSrc, int srcStep, Ipp16s* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp16s pBorderValue[4], Ipp8u* pBuffer);

IppStatus ippiFilterHipassBorder_32f_C4R(const Ipp32f* pSrc, int srcStep, Ipp32f* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp32f pBorderValue[4], Ipp8u* pBuffer);

Include Files

ippi.h

Domain Dependencies

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

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

Parameters

pSrc

Pointer to the source image ROI.

srcStep

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

pDst

Pointer to the destination image ROI.

dstStep

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

dstRoiSize

Size of the source and destination ROI, in pixels.

mask

Predefined mask of IppiMaskSize. Possible values are ippMskSize3x3 or ippMskSize5x5.

borderType

Type of border. Possible values are:

ippBorderConst

Values of all border pixels are set to constant.

ippBorderRepl

Border is replicated from the edge pixels.

ippBorderInMem

Border is obtained from the source image pixels in memory.

Mixed borders are also supported. They can be obtained by the bitwise operation OR between any of the ippBorderRepl, ippBorderConst, or ippBorderMirror values and the ippBorderInMemTop, ippBorderInMemBottom, ippBorderInMemLeft, ippBorderInMemRight values.

borderValue

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

pBorderValue[3], pBorderValue[4]

Pointer to constant values to assign to pixels of the constant border. This parameter is applicable only to the ippBorderConst border type.

pBuffer

Pointer to the work buffer.

Description

Before using this function, you need to compute the size of the work buffer pBuffer using the ippiFilterHipassBorderGetBufferSize function.

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

This function applies a high-pass filter to the pSrc source image ROI. The size of the source image ROI is equal to the destination image ROI size dstRoiSize. The values of border pixels are assigned in accordance with the borderType and borderValue parameters. The kernel of the filter is a matrix of 3x3 or 5x5 size depending on the mask value. The kernels have the following values:

                             -1  -1   -1  -1  -1
  -1  -1  -1                 -1  -1   -1  -1  -1
  -1   8  -1       or        -1  -1  24  -1  -1
  -1  -1  -1                 -1  -1   -1  -1  -1
                             -1  -1   -1  -1  -1

The anchor cell is the center cell of the kernel, highlighted in red.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error when one of the specified pointers is NULL.

ippStsSizeErr

Indicates an error when dstRoiSize is negative, or equal to zero.

ippStsBorderErr

Indicates an error when mask has an illegal value.

ippStsBorderErr

Indicates an error when borderType has an illegal value.

See Also