Intel IPP provides functions that modify pixel values of an image buffer using arithmetic or logical operations. It also includes functions that perform image compositing based on opacity (alpha-blending).
Table Arithmetic and Logical Operations lists the functions:
Function Base Name |
Operation |
|
---|---|---|
Arithmetic Functions |
||
Adds pixel values of two image buffers |
||
Adds a constant to pixel values of an image buffer |
||
Adds squared pixel values of a source image to floating-point pixel values of an accumulator image |
||
Adds product of pixel values of two source images to floating-point pixel values of an accumulator image |
||
Adds pixel values of a source image multiplied by factor α to floating-point pixel values of an accumulator image multiplied by factor (1-α) |
||
Multiplies pixel values of two image buffers |
||
Multiplies pixel values of an image buffer by a constant |
||
Multiplies pixel values of two image buffers and scales the products |
||
Multiplies pixel values of an image buffer by a constant and scales the products |
||
Subtracts pixel values of two image buffers |
||
Subtracts a constant from pixel values of an image buffer |
||
Divides pixel values of two image buffers |
||
Divides pixel values of an image by pixel values of another image with different rounding modes |
||
Divides pixel values of an image buffer by a constant |
||
Computes absolute pixel values of a source image and places them into the destination image |
||
Finds the absolute difference between two images. |
||
Finds the absolute difference between an image and a scalar value. |
||
Squares pixel values of an image and writes them into the destination image |
||
Computes square roots of pixel values of a source image and writes them into the destination image |
||
Computes the natural logarithm of pixel values in a source image and writes the results into the destination image |
||
Computes the exponential of pixel values in a source image and writes the results into the destination image |
||
Converts negative number from the complement to direct code. |
||
Computes the dot product of pixel values of two source images. |
||
Calculates the dot product of taps vector and columns of the specified set of rows. |
||
Logical Functions |
||
Combines corresponding pixels of two image buffers by a bitwise AND operation. |
||
Performs a bitwise AND operation on each pixel with a constant. |
||
Combines corresponding pixels of two image buffers by a bitwise OR operation. |
||
Performs a bitwise OR operation on each pixel with a constant. |
||
Combines corresponding pixels of two image buffers by a bitwise XOR operation. |
||
Performs a bitwise OR operation on each pixel with a constant. |
||
Performs a bitwise NOT operation on each pixel |
||
Divides pixel values by a constant power of 2 by shifting bits logically or arithmetically to the right. |
||
Shifts bits in pixel values to the left. |
||
Alpha-Blending Functions |
||
Combines two image buffers using alpha (opacity) values. |
||
Combines two image buffers using constant alpha values |
||
Pre-multiplies pixel values of an image buffer by its alpha values. |
||
Pre-multiplies pixel values of an image buffer using constant alpha values. |
An additional suffix C, if present in the function name, indicates operation with a constant. Arithmetic functions that operate on integer data perform fixed scaling of the internally computed results. In case of overflow the result value is saturated to the destination data type range.
Most arithmetic and logical functions support data with 1-,3-, or 4-channel pixel values. In the alpha channel case (AC4), the alpha channels are not processed.
Many solutions and hints for use of these functions can be found in Intel IPP Samples. See Intel® IPP Image Processing and Media Processing Samples downloadable from http://www.intel.com/cd/software/products/asmo-na/eng/220046.htm .
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.