AddWeighted
Adds weighted pixel values of a source image to floating-point pixel values of an accumulator image.
Syntax
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 | 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 | 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
);
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 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.
Description
This function operates with ROI (see Regions of Interest in Intel IPP).
This function adds pixel values of the source image ) and stores result in the
pSrc1
multiplied by a weight factor alpha
to pixel values of the image pSrc2
multiplied by (1-alpha
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.
Return Values
- ippStsNoErr
- Indicates no error.
- ippStsNullPtrErr
- Indicates an error when any of the specified pointers isNULL.
- ippStsSizeErr
- Indicates an error whenroiSize.widthorroiSize.heightis equal to 0 or negative.
- ippStsStepErr
- Indicates an error when one of the step values is equal to zero, or is less thanroiSize.width * <pixelSize>.
- ippStsNotEvenStepErr
- Indicates an error when one of step values for floating-point images cannot be divided by 4.