Developer Reference for Intel® Integrated Performance Primitives
Performs image sharpening with a high-pass filter.
Case 1: Operating on one-channel data
IppStatus ippiFilterSharpenBorder_8u_C1R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, Ipp8u borderValue, Ipp8u* pBuffer);
IppStatus ippiFilterSharpenBorder_16s_C1R(const Ipp16s* pSrc, int srcStep, Ipp16s* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, Ipp16s borderValue, Ipp8u* pBuffer);
IppStatus ippiFilterSharpenBorder_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 ippiFilterSharpenBorder_8u_C3R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp8u pBorderValue[3], Ipp8u* pBuffer);
IppStatus ippiFilterSharpenBorder_16s_C3R(const Ipp16s* pSrc, int srcStep, Ipp16s* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp16s pBorderValue[3], Ipp8u* pBuffer);
IppStatus ippiFilterSharpenBorder_32f_C3R(const Ipp32f* pSrc, int srcStep, Ipp32f* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp32f pBorderValue[3], Ipp8u* pBuffer);
IppStatus ippiFilterSharpenBorder_8u_AC4R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp8u pBorderValue[3], Ipp8u* pBuffer);
IppStatus ippiFilterSharpenBorder_16s_AC4R(const Ipp16s* pSrc, int srcStep, Ipp16s* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp16s pBorderValue[3], Ipp8u* pBuffer);
IppStatus ippiFilterSharpenBorder_32f_AC4R(const Ipp32f* pSrc, int srcStep, Ipp32f* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp32f pBorderValue[3], Ipp8u* pBuffer);
IppStatus ippiFilterSharpenBorder_8u_C4R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp8u pBorderValue[4], Ipp8u* pBuffer);
IppStatus ippiFilterSharpenBorder_16s_C4R(const Ipp16s* pSrc, int srcStep, Ipp16s* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp16s pBorderValue[4], Ipp8u* pBuffer);
IppStatus ippiFilterSharpenBorder_32f_C4R(const Ipp32f* pSrc, int srcStep, Ipp32f* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp32f pBorderValue[4], Ipp8u* pBuffer);
ippi.h
Headers: ippcore.h, ippvm.h, ipps.h
Libraries: ippcore.lib, ippvm.lib, ipps.lib
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 value is ippMskSize3x3. | ||||||
borderType |
Type of border. Possible values are:
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. |
Before using this function, you need to compute the size of the work buffer pBuffer using the ippiFilterSharpenBorderGetBufferSize 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 size. The kernel has the following value:
-1/8 -1/8 -1/8
-1/8 16/8 -1/8
-1/8 -1/8 -1/8
The anchor cell is the center cell of the kernel, highlighted in red.
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. |