Arithmetic Operations
[Image Processing]
Detailed Description
- Simple math operations for images.
- See im_process_pon.h
Enumerations | |
enum | imUnaryOp { IM_UN_EQL, IM_UN_ABS, IM_UN_LESS, IM_UN_INC, IM_UN_INV, IM_UN_SQR, IM_UN_SQRT, IM_UN_LOG, IM_UN_EXP, IM_UN_SIN, IM_UN_COS, IM_UN_CONJ, IM_UN_CPXNORM } |
enum | imBinaryOp { IM_BIN_ADD, IM_BIN_SUB, IM_BIN_MUL, IM_BIN_DIV, IM_BIN_DIFF, IM_BIN_POW, IM_BIN_MIN, IM_BIN_MAX } |
Functions | |
void | imProcessUnArithmeticOp (const imImage *src_image, imImage *dst_image, int op) |
void | imProcessArithmeticOp (const imImage *src_image1, const imImage *src_image2, imImage *dst_image, int op) |
void | imProcessArithmeticConstOp (const imImage *src_image, float src_const, imImage *dst_image, int op) |
void | imProcessBlendConst (const imImage *src_image1, const imImage *src_image2, imImage *dst_image, float alpha) |
void | imProcessBlend (const imImage *src_image1, const imImage *src_image2, const imImage *alpha_image, imImage *dst_image) |
void | imProcessSplitComplex (const imImage *src_image, imImage *dst_image1, imImage *dst_image2, int do_polar) |
void | imProcessMergeComplex (const imImage *src_image1, const imImage *src_image2, imImage *dst_image, int polar) |
void | imProcessMultipleMean (const imImage **src_image_list, int src_image_count, imImage *dst_image) |
void | imProcessMultipleStdDev (const imImage **src_image_list, int src_image_count, const imImage *mean_image, imImage *dst_image) |
int | imProcessAutoCovariance (const imImage *src_image, const imImage *mean_image, imImage *dst_image) |
void | imProcessMultiplyConj (const imImage *src_image1, const imImage *src_image2, imImage *dst_image) |
Enumeration Type Documentation
|
Unary Arithmetic Operations. Inverse and log may lead to math exceptions.
00029 { 00030 IM_UN_EQL, /**< equal = a */ 00031 IM_UN_ABS, /**< abssolute = |a| */ 00032 IM_UN_LESS, /**< less = -a */ 00033 IM_UN_INC, /**< increment += a */ 00034 IM_UN_INV, /**< invert = 1/a (#) */ 00035 IM_UN_SQR, /**< square = a*a */ 00036 IM_UN_SQRT, /**< square root = a^(1/2) */ 00037 IM_UN_LOG, /**< natural logarithm = ln(a) (#) */ 00038 IM_UN_EXP, /**< exponential = exp(a) */ 00039 IM_UN_SIN, /**< sine = sin(a) */ 00040 IM_UN_COS, /**< cosine = cos(a) */ 00041 IM_UN_CONJ, /**< complex conjugate = ar - ai*i */ 00042 IM_UN_CPXNORM /**< complex normalization by magnitude = a / cpxmag(a) */ 00043 };
|
|
Binary Arithmetic Operations. Inverse and log may lead to math exceptions.
00056 { 00057 IM_BIN_ADD, /**< add = a+b */ 00058 IM_BIN_SUB, /**< subtract = a-b */ 00059 IM_BIN_MUL, /**< multiply = a*b */ 00060 IM_BIN_DIV, /**< divide = a/b (#) */ 00061 IM_BIN_DIFF, /**< difference = |a-b| */ 00062 IM_BIN_POW, /**< power = a^b */ 00063 IM_BIN_MIN, /**< minimum = (a < b)? a: b */ 00064 IM_BIN_MAX /**< maximum = (a > b)? a: b */ 00065 };
|
Function Documentation
|
Apply an arithmetic unary operation.
im.ProcessUnArithmeticOp(src_image: imImage, dst_image: imImage, op: number) [in Lua 5] im.ProcessUnArithmeticOpNew(image: imImage, op: number) -> new_image: imImage [in Lua 5] |
|
Apply a binary arithmetic operation.
im.ProcessArithmeticOp(src_image1: imImage, src_image2: imImage, dst_image: imImage, op: number) [in Lua 5] im.ProcessArithmeticOpNew(image1: imImage, image2: imImage, op: number) -> new_image: imImage [in Lua 5] |
|
Apply a binary arithmetic operation with a constant value.
im.ProcessArithmeticConstOp(src_image: imImage, src_const: number, dst_image: imImage, op: number) [in Lua 5] im.ProcessArithmeticConstOpNew(image: imImage, src_const: number, op: number) -> new_image: imImage [in Lua 5] |
|
Blend two images using an alpha value = [a * alpha + b * (1 - alpha)].
im.ProcessBlend(src_image1: imImage, src_image2: imImage, dst_image: imImage, alpha: number) [in Lua 5] im.ProcessBlendNew(image1: imImage, image2: imImage, alpha: number) -> new_image: imImage [in Lua 5] |
|
Blend two images using an alpha channel = [a * alpha + b * (1 - alpha)]. 0 - 255 IM_BYTE 0 - 65535 IM_USHORT 0 - 2147483647 IM_INT im.ProcessBlend(src_image1: imImage, src_image2: imImage, alpha_image: imImage, dst_image: imImage) [in Lua 5] im.ProcessBlendNew(image1: imImage, image2: imImage, alpha_image: imImage) -> new_image: imImage [in Lua 5] |
|
Split a complex image into two images with real and imaginary parts
im.ProcessSplitComplex(src_image: imImage, dst_image1: imImage, dst_image2: imImage, do_polar: boolean) [in Lua 5] im.ProcessSplitComplexNew(image: imImage, do_polar: boolean) -> dst_image1: imImage, dst_image2: imImage [in Lua 5] |
|
Merges two images as the real and imaginary parts of a complex image,
im.ProcessMergeComplex(src_image1: imImage, src_image2: imImage, dst_image: imImage) [in Lua 5] im.ProcessMergeComplexNew(image1: imImage, image2: imImage) -> new_image: imImage [in Lua 5] |
|
Calculates the mean of multiple images.
im.ProcessMultipleMean(src_image_list: table of imImage, dst_image: imImage) [in Lua 5] im.ProcessMultipleMeanNew(src_image_list: table of imImage) -> new_image: imImage [in Lua 5] |
|
Calculates the standard deviation of multiple images.
im.ProcessMultipleStdDev(src_image_list: table of imImage, mean_image: imImage, dst_image: imImage) [in Lua 5] im.ProcessMultipleStdDevNew(src_image_list: table of imImage, mean_image: imImage) -> new_image: imImage [in Lua 5] |
|
Calculates the auto-covariance of an image with the mean of a set of images.
im.ProcessAutoCovariance(src_image: imImage, mean_image: imImage, dst_image: imImage) -> counter: boolean [in Lua 5] im.ProcessAutoCovarianceNew(src_image: imImage, mean_image: imImage) -> counter: boolean, new_image: imImage [in Lua 5] |
|
Multiplies the conjugate of one complex image with another complex image.
im.ProcessMultiplyConj(src_image1: imImage, src_image2: imImage, dst_image: imImage) [in Lua 5] im.ProcessMultiplyConjNew(src_image1: imImage, src_image2: imImage) -> new_image: imImage [in Lua 5] |