Visible to Intel only — GUID: GUID-C9AA01EB-E819-4551-BE85-00A97C0BEDDF
Visible to Intel only — GUID: GUID-C9AA01EB-E819-4551-BE85-00A97C0BEDDF
RectStdDev
Computes the standard deviation of the integral images.
Syntax
IppStatus ippiRectStdDev_32f_C1R(const Ipp32f* pSrc, int srcStep, const Ipp64f* pSqr, int sqrStep, Ipp32f* pDst, int dstStep, IppiSize roiSize, IppiRect rect);
IppStatus ippiRectStdDev_32s32f_C1R(const Ipp32s* pSrc, int srcStep, const Ipp64f* pSqr, int sqrStep, Ipp32f* pDst, int dstStep, IppiSize roiSize, IppiRect rect);
IppStatus ippiRectStdDev_32s_C1RSfs(const Ipp32s* pSrc, int srcStep, const Ipp32s* pSqr, int sqrStep, Ipp32s* pDst, int dstStep, IppiSize roiSize, IppiRect rect, int scaleFactor);
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 ROI in the source integral image. |
srcStep |
Distance in bytes between starts of consecutive lines in the source integral image. |
pSqr |
Pointer to the ROI in the source integral image of pixel squares. |
sqrStep |
Distance in bytes between starts of consecutive lines in the source integral image of pixel squares. |
pDst |
Pointer to the destination image ROI. |
dstStep |
Distance in bytes between starts of consecutive lines in the destination image. |
roiSize |
Size of destination image ROI in pixels. |
rect |
Rectangular window. |
scaleFactor |
Scale factor (see Integer Result Scaling). |
Description
This function operates with ROI (see Regions of Interest in Intel IPP). This function computes the standard deviation for each pixel in the rectangular window rect using the integral image pSrc and integral image of pixel squares pSqr. The computations are performed in accordance with the following formulas:
where i,j are coordinates of the destination image pixels varying in the range i = 0 ,..., roiSize.height - 1, j = 0,..., roiSize.width - 1;
sum = pSrc[ i + rect.y + rect.height, j + rect.x + rect.width] - pSrc[i + rect.y, j + rect.x + rect.width] - pSrc[i + rect.y + rect.height, j + rect.x] + pSrc[i + rect.y, j + rect.x];
sumSqr = pSqr[ i + rect.y + rect.height, j + rect.x + rect.width] - pSqr[i + rect.y, j + rect.x + rect.width] - pSqr[i + rect.y + rect.height, j + rect.x] + pSqr[i + rect.y, j + rect.x];
numPix = rect.height * rect.width.
The minimum size of each source images pSrc and pSqr should be (roiSize.width + rect.x + rect.width) x (roiSize.height + rect.y + rect.height).
The source images pSrc and pSqr can be obtained by using the functions ippiIntegral or ippiSqrIntegral.
Return Values
ippStsNoErr |
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. |
ippStsSizeErr |
Indicates an error condition if rect.width or rect.height is less than or equal to zero, or if rect.x or rect.y is less than zero. |
ippStsStepErr |
Indicates an error condition if srcStep or sqrStep is less than (roiSize.width+rect.x+rect.width+1) * <pixelSize>, or dstStep is less than roiSize.width * <pixelSize>. |
ippStsNotEvenStepErr |
Indicates an error condition if sqrStep is not divisible by 8, or one of pSrc and dstStep is not divisible by 4. |