Developer Reference

  • 2020
  • 07/15/2020
  • Public Content
Contents

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
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.
Return Values
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.

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