Developer Reference for Intel® Integrated Performance Primitives
Filters an image using a Laplace filter.
Case 1: Operating on one-channel data
IppStatus ippiFilterLaplaceBorder_8u_C1R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, Ipp8u borderValue, Ipp8u* pBuffer);
IppStatus ippiFilterLaplaceBorder_16s_C1R(const Ipp16s* pSrc, int srcStep, Ipp16s* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, Ipp16s borderValue, Ipp8u* pBuffer);
IppStatus ippiFilterLaplaceBorder_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 ippiFilterLaplaceBorder_8u_C3R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp8u pBorderValue[3], Ipp8u* pBuffer);
IppStatus ippiFilterLaplaceBorder_16s_C3R(const Ipp16s* pSrc, int srcStep, Ipp16s* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp16s pBorderValue[3], Ipp8u* pBuffer);
IppStatus ippiFilterLaplaceBorder_32f_C3R(const Ipp32f* pSrc, int srcStep, Ipp32f* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp32f pBorderValue[3], Ipp8u* pBuffer);
IppStatus ippiFilterLaplaceBorder_8u_AC4R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp8u pBorderValue[3], Ipp8u* pBuffer);
IppStatus ippiFilterLaplaceBorder_16s_AC4R(const Ipp16s* pSrc, int srcStep, Ipp16s* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp16s pBorderValue[3], Ipp8u* pBuffer);
IppStatus ippiFilterLaplaceBorder_32f_AC4R(const Ipp32f* pSrc, int srcStep, Ipp32f* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp32f pBorderValue[3], Ipp8u* pBuffer);
IppStatus ippiFilterLaplaceBorder_8u_C4R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp8u pBorderValue[4], Ipp8u* pBuffer);
IppStatus ippiFilterLaplaceBorder_16s_C4R(const Ipp16s* pSrc, int srcStep, Ipp16s* pDst, int dstStep, IppiSize dstRoiSize, IppiMaskSize mask, IppiBorderType borderType, const Ipp16s pBorderValue[4], Ipp8u* pBuffer);
IppStatus ippiFilterLaplaceBorder_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 values are ippMskSize3x3 or ippMskSize5x5. | ||||||
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 ippiFilterLaplaceBorderGetBufferSize function.
This function operates with ROI (see Regions of Interest in Intel IPP).
This function applies a Laplace 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 -3 -4 -3 -1
-1 -1 -1 -3 0 6 0 -3
-1 8 -1 or -4 6 20 6 -4
-1 -1 -1 -3 0 6 0 -3
-1 -3 -4 -3 -1
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. |