Adds weighted pixel values of a source image to floating-point pixel values of an accumulator image.
Case 1: In-place operation
IppStatus ippiAddWeighted_<mod>(const Ipp<srcDatatype>* pSrc, int srcStep, Ipp32f* pSrcDst, int srcdstStep, IppiSize roiSize, Ipp32f alpha);
Supported values for mod:
8u32f_C1IR |
8s32f_C1IR |
16u32f_C1IR |
32f_C1IR |
Case 2: Masked in-place operation
IppStatus ippiAddWeighted_<mod>(const Ipp<srcDatatype>* pSrc, int srcStep, const Ipp8u* pMask, int maskStep, Ipp32f* pSrcDst, int srcDstStep, IppiSize roiSize, Ipp32f alpha);
Supported values for mod:
8u32f_C1IMR |
8s32f_C1IMR |
16u32f_C1IMR |
32f_C1IMR |
Case 3: Not-in-place operation
IppStatus ippiAddWeighted_32f_C1R(const Ipp32f* pSrc1, int src1Step, const Ipp32f* pSrc2, int src2Step, Ipp32f* pDst, int dstStep, IppiSize roiSize, Ipp32f alpha);
pSrc |
Pointer to the source image ROI for the in-place operation. |
pSrc1, pSrc2 |
Pointers to the ROI in the source images. |
srcStep |
Distance in bytes between starts of consecutive lines in the source image for the in-place operation. |
src1Step, src2Step |
Distance in bytes between starts of consecutive lines in the source images. |
pMask |
Pointer to the mask image. |
maskStep |
Distance in bytes between starts of consecutive lines in the mask image. |
pSrcDst |
Pointer to the destination (accumulator) image ROI for the in-place operation. |
srcDstStep |
Distance in bytes between starts of consecutive lines in the accumulator image. |
pDst |
Pointer to the destination image ROI. |
dstStep |
Distance in bytes between starts of consecutive lines in the destination image. |
roiSize |
Size of the image ROI in pixels. |
alpha |
Weight a of the source image. |
The function ippiAddWeighted is declared in the ippcv.h file. It operates with ROI (see Regions of Interest in Intel IPP).
This function adds pixel values of the source image pSrc1 multiplied by a weight factor alpha to pixel values of the image pSrc2 multiplied by (1-alpha) and stores result in the pDst as follows:
pDst(x,y) = pSrc1(x,y)* alpha + pSrc2(x,y)*(1- alpha).
The in-place flavors of the function adds pixel values of the source image pSrc multiplied by a weight factor alpha to floating-point pixel values of the accumulator image pSrcDst multiplied by (1-alpha) as follows:
pSrcDst(x,y) = pSrcDst(x,y)* (1-alpha) + pSrc(x,y)*alpha
Addition of the weighted pixel values in case of a masked operation is performed only if the respective mask value is nonzero; otherwise, the accumulator pixel value remains unchanged.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when any of the specified pointers is NULL. |
ippStsSizeErr |
Indicates an error when roiSize.width or roiSize.height is equal to 0 or negative. |
ippStsStepErr |
Indicates an error when one of the step values is equal to zero, or is less than roiSize.width * <pixelSize>. |
ippStsNotEvenStepErr |
Indicates an error when one of step values for floating-point images cannot be divided by 4. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.