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 ofIppiMaskSize. Possible values areippMskSize3x3orippMskSize5x5.
- 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 operationORbetween any of theippBorderRepl,ippBorderConst, orippBorderMirrorvalues and theippBorderInMemTop,ippBorderInMemBottom,ippBorderInMemLeft,ippBorderInMemRightvalues. - borderValue
- Constant value to assign to pixels of the constant border. This parameter is applicable only to theippBorderConstborder type.
- pBorderValue[3],pBorderValue[4]
- Pointer to constant values to assign to pixels of the constant border. This parameter is applicable only to theippBorderConstborder 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 isNULL.
- ippStsSizeErr
- Indicates an error whendstRoiSizeis negative, or equal to zero.
- ippStsBorderErr
- Indicates an error whenmaskhas an illegal value.
- ippStsBorderErr
- Indicates an error whenborderTypehas an illegal value.