Go to main content

man pages section 3: Multimedia Library Functions

Exit Print View

Updated: July 2017
 
 

mlib_ImageLookUp2(3MLIB)

Name

mlib_ImageLookUp2 - table lookup

Synopsis

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);

Description

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:

Type [*]
BYTE
SHORT
USHORT
INT
FLOAT
DOUBLE
MLIB_BIT
Y
MLIB_BYTE
Y
Y
Y
Y
Y
Y
MLIB_SHORT
Y
Y
Y
Y
Y
Y
MLIB_USHORT
Y
Y
Y
Y
Y
Y
MLIB_INT
Y
Y
Y
Y
Y
Y

[*] 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
1
n
n
n
1
n
n
n
n

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][0] - offsets[i]]
dst[x][y][i] = table[0][src[x][y][i] - offsets[0]]
dst[x][y][i] = table[i][src[x][y][i] - offsets[i]]

Parameters

The function takes the following arguments:

dst

Pointer to destination image.

src

Pointer to source image.

table

Pointer to lookup table. The data type of the lookup table is the same as that of the destination image.. The format of the lookup table is:

table[channel][index]

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.

offsets

Offset values subtracted from the src pixel before table lookup.

channels

Number of channels in the lookup table. If the number of channels equals 1, then the same table is applied to all channels. Otherwise, the number of channels must be no less than the number of channels in the destination image.

Return Values

The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe

See Also

mlib_ImageLookUp(3MLIB), mlib_ImageLookUp_Inp(3MLIB), mlib_ImageLookUpMask(3MLIB), attributes(5)