SumWindow
Sums pixel values in a rectangular area applied to an image.
Syntax
IppStatus ippiSumWindow_8u32s_C1R(const Ipp8u*
pSrc
, int
srcStep
, Ipp32s*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp8u*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_8u32s_C3R(const Ipp8u*
pSrc
, int
srcStep
, Ipp32s*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp8u*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_8u32s_C4R(const Ipp8u*
pSrc
, int
srcStep
, Ipp32s*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp8u*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_8u32s_AC4R(const Ipp8u*
pSrc
, int
srcStep
, Ipp32s*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp8u*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_16s32f_C1R(const Ipp16s*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp16s*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_16s32f_C3R(const Ipp16s*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp16s*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_16s32f_C4R(const Ipp16s*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp16s*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_16s32f_AC4R(const Ipp16s*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp16s*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_16u32f_C1R(const Ipp16u*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp16u*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_16u32f_C3R(const Ipp16u*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp16u*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_16u32f_C4R(const Ipp16u*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp16u*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_16u32f_AC4R(const Ipp16u*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp16u*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_32f_C1R(const Ipp32f*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp32f*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_32f_C3R(const Ipp32f*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp32f*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_32f_C4R(const Ipp32f*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp32f*
borderValue
, Ipp8u*
pBuffer
);
IppStatus ippiSumWindow_32f_AC4R(const Ipp32f*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, IppiSize
roiSize
, IppiSize
maskSize
, IppiBorderType
BorderType
, const Ipp32f*
borderValue
, 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.
- roiSize
- Size of the destination ROI in pixels.
- maskSize
- Size of the mask in pixels.
- BorderType
- Type of border. Possible values are:
- ippBorderConst
- Values of all border pixels are set to constant.
- ippBoderRepl
- Border is replicated from the edge pixels.
- ippBorderInMem
- Border is obtained from the source image pixels in memory.
- ippBorderMirror
- Border pixels are mirrored from the source image boundary pixels.
Mixed borders are also supported. They can be obtained by the bitwise operation OR between any of theippBorderRepl,ippBorderConst,ippBorderMirror, and theippBorderInMemTop,ippBorderInMemBottom,ippBorderInMemLeft,ippBorderInMemRightvalues. - borderValue
- Constant value to assign to border pixels. 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 SumWindowGetBufferSize
function. This function operates with ROI (see Regions of Interest in Intel IPP).
This function sets each pixel in the destination image ROI
pDst
to the sum of all the source image pixels in the rectangular neighborhood of size maskSize
with the anchor cell at the corresponding pixel in the source image ROI pSrc
. To ensure valid operation while processing the image boundary pixels, the application must correctly define additional border pixels (see Borders in Neighborhood Operations).Return Values
- ippStsNoErr
- Indicates no error. Any other value indicates an error or a warning.
- ippStsNullPtrErr
- Indicates an error ifpSrcorpDstisNULL.
- ippStsSizeErr
- Indicates an error ifroiSizehas a field with a zero or negative value.
- ippStsMaskSizeErr
- Indicates an error ifmaskSizehas a field with a zero or negative value.
- ippStsBorderErr
- Indicates an error ifBorderTypehas an illegal value.