Content-type: text/html
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_ImageScale_Fp(mlib_image *dst, const mlib_image *src, const mlib_d64 *alpha, const mlib_d64 *beta);
The mlib_ImageScale_Fp() function performs a floating-point linear scaling on the pixels of the source image by multiplying the data by a scale factor, shifting, and then adding an offset.
The following equation is used:
dst[x][y][i] = src[x][y][i] * alpha[i] + beta[i]
If the result of the operation underflows/overflows the minimum/maximum value supported by the destination image, then it will be clamped to the minimum/maximum value respectively.
See the following table for available variations of this linear scaling function.
Type [*] | BYTE | SHORT | USHORT | INT | FLOAT | DOUBLE |
MLIB_FLOAT | Y | Y | Y | Y | Y | Y |
MLIB_DOUBLE |
[*] Each row represents a source data type. Each column represents a destination data type.
The function takes the following arguments:
dst
src
alpha
beta
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
|
mlib_ImageScale(3MLIB), mlib_ImageScale_Fp_Inp(3MLIB), mlib_ImageScale_Inp(3MLIB), mlib_ImageScale2(3MLIB), mlib_ImageScale2_Inp(3MLIB), attributes(5)