Developer Reference

  • 2020
  • 07/15/2020
  • Public Content
Contents

FilterSharpenBorder

Performs image sharpening with a high-pass filter.

Syntax

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
);
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 value is
ippMskSize3x3
.
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
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.
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.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804