Computes the standard deviation of the tilted integral images.
IppStatus ippiTiltedRectStdDev_32f_C1R(const Ipp32f* pSrc, int srcStep, const Ipp64f* pSqr, int sqrStep, Ipp32f* pDst, int dstStep, IppiSize roiSize, IppiRect rect);
IppStatus ippiTiltedRectStdDev_32s_C1RSfs(const Ipp32s* pSrc, int srcStep, const Ipp32s* pSqr, int sqrStep, Ipp32s* pDst, int dstStep, IppiSize roiSize, IppiRect rect, int scaleFactor);
IppStatus ippiTiltedRectStdDev_32s32f_C1R(const Ipp32s* pSrc, int srcStep, const Ipp64f* pSqr, int sqrStep, Ipp32f* pDst, int dstStep, IppiSize roiSize, IppiRect rect);
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). |
The function ippiTiltedRectStdDev is declared
in the ippcv.h file. It 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 tilted
integral image pSrc and tilted 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.x - rect.y + rect.height + rect.width, j + rect.x + rect.y - rect.height + rect.width] - pSrc[i + rect.x - rect.y + rect.width, j + rect.x + rect.y + rect.width] - pSrc[i + rect.x - rect.y + rect.height, j + rect.x - rect.y - rect.height] + pSrc[i + rect.x - rect.y, j + rect.x + rect.y];
sumSqr = pSqr[ i + rect.x - rect.y + rect.height + rect.width, j + rect.x + rect.y - rect.height + rect.width] - pSqr[i + rect.x - rect.y + rect.width, j + rect.x + rect.y + rect.width] - pSqr[i + rect.x - rect.y + rect.height, j + rect.x - rect.y - rect.height] + pSqr[i + rect.x - rect.y, j + rect.x + rect.y];
numPix = 2 * rect.height * rect.width.
The minimum size of each source images pSrc and pSqr should be (roiSize.width + rect.height + rect.width - 2) x (roiSize.height + rect.x + rect.y + rect.height + rect.width - 2).
The source images pSrc and pSqr can be obtained by using the functions ippiTiltedIntegral or ippiTiltedSqrIntegral.
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. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.