cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_ImageLookUp2(mlib_image *dst, const mlib_image *src, const void **table, const mlib_s32 *offsets, mlib_s32 channels);
The mlib_ImageLookUp2() function maps the source image to the destination image by using the user-specified lookup table and an offset.
The source and destination images must have the same width and height.
The source and destination images can have different data types. See the following table for available variations of the table lookup function on image types:
[*] Each row represents a source data type. Each column represents a destination data type.
The source and destination images also can have a different number of channels. The source image can be a single-channel image or can have the same number of channels as the destination image. The lookup table can have one channel or have the same channels as the destination image. See the following table for possible variations on the number of channels in the images and the lookup table:
|# of channels in||# of channels in||# of channels in|
|the input image||the lookup table||the output image|
where, n = 1, 2, 3, 4.
Each of the following equations is used in the corresponding case shown in the table above.
dst[x][y][i] = table[i][src[x][y] - offsets[i]] dst[x][y][i] = table[src[x][y][i] - offsets] dst[x][y][i] = table[i][src[x][y][i] - offsets[i]]
The function takes the following arguments:
The entries are indexed from 0 to 1, 2, ..., and so on. It is the user's responsibility to provide a lookup table that has enough entries to cover all possible values of the pixel components deducted by the offset in each channel of the source image.
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
mlib_ImageLookUp(3MLIB), mlib_ImageLookUp_Inp(3MLIB), mlib_ImageLookUpMask(3MLIB), attributes(5)