Developer Reference

  • 2020
  • 10/21/2020
  • Public Content
Contents

SqrIntegral

Transforms an image to integral and integral of pixel squares representations.

Syntax

IppStatus ippiSqrIntegral_8u32s64f_C1R(const Ipp8u*
pSrc
, int
srcStep
, Ipp32s*
pDst
, int
dstStep
, Ipp64f*
pSqr
, int
sqrStep
, IppiSize
roiSize
, Ipp32s
val
, Ipp64f valSqr
);
IppStatus ippiSqrIntegral_8u32f64f_C1R(const Ipp8u*
pSrc
, int
srcStep
, Ipp32f*
pDst
, int
dstStep
, Ipp64f*
pSqr
, int
sqrStep
, IppiSize
roiSize
, Ipp32f
val
, Ipp64f
valSqr
);
IppStatus ippiSqrIntegral_8u32s_C1R(const Ipp8u*
pSrc
, int
srcStep
, Ipp32s*
pDst
, int
dstStep
, Ipp32s*
pSqr
, int
sqrStep
, IppiSize
roiSize
, Ipp32s
val
, Ipp32s
valSqr
);
Include Files
ippcv.h
Domain Dependencies
Headers:
ippcore.h
,
ippvm.h
,
ipps.h
,
ippi.h
Libraries:
ippcore.lib
,
ippvm.lib
,
ipps.lib
,
ippi.lib
Parameters
pSrc
Pointer to the source image ROI.
srcStep
Distance in bytes between starts of consecutive lines in the source image.
pDst
Pointer to the ROI in the destination integral image.
dstStep
Distance in bytes between starts of consecutive lines in the destination image.
pSqr
Pointer to the ROI of the destination integral image of pixel squares.
sqrStep
Distance in bytes between starts of consecutive lines in the destination integral image of pixel squares.
roiSize
Size of source image ROI in pixels.
val
The value to add to
pDst
image pixels.
valSqr
The value to add to
pSqr
image pixels
Description
This function operates with ROI (see Regions of Interest in Intel IPP). This function builds two destination images: integral image
pDst
and integral image of pixel squares
pSqr
. Pixel values of
pDst
are computed using pixel values of the source image
pSrc
and the specified value
val
in accordance with the following formula:
Pixel values of
pSqr
are computed using pixel values of the source image
pSrc
and the specified value
valSqr
in accordance with the following formula:
where
i
,
j
are coordinates of the destination image pixels (see Figure
“Operation of the Integral and TiltedIntegral functions”
) varying in the range
i
= 1, ...,
roiSize.height
,
j
= 0,...,
roiSize.width
. Pixel values of zero row and column are set to
val
for
pDst
, and to
valSqr
for
pSqr
. The size of both destination images is (
roiSize.width
+ 1) x (
roiSize.height
+ 1).
Figure
“Operation of the Integral and TiltedIntegral functions”
shows what pixels (red circles) of the source image are used in computation new pixel values in the
i
,
j
coordinates.
Return Values
ippStsNoEr
Indicates no error.
ippStsNullPtrErr
Indicates an error if one of the specified pointers is
NULL
.
ippStsSizeErr
Indicates an error condition if
roiSize
has a field with zero or negative value.
ippStsStepErr
Indicates an error condition if
srcStep
is less than
roiSize.width
*
<pixelSize>
, or
dstStep
or
sqrStep
is less than
(roiSize.width+1)
*
<pixelSize>
.
ippStsNotEvenStepErr
Indicates an error condition if
dstStep
is not divisible by 4, or
sqrStep
is not divisible by 8.

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