Content-type: text/html Man page of mlib_ImageLookUp

mlib_ImageLookUp

Section: mediaLib Library Functions (3MLIB)
Updated: 12 Sep 2007
Index Return to Main Contents
 

NAME

mlib_ImageLookUp - table lookup  

SYNOPSIS

cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>

mlib_status mlib_ImageLookUp(mlib_image *dst, const mlib_image *src,
    const void **table);

 

DESCRIPTION

The mlib_ImageLookUp() function maps the source image to the destination image by using the user-specified lookup table.

The source and destination images must have the same width and height. The source image can be a single channel image or can have the same number of channels as the destination image. One of the following equations is used accordingly:

dst[x][y][i] = table[i][src[x][y][0]]
dst[x][y][i] = table[i][src[x][y][i]]

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 [*]BYTESHORTUSHORTINTFLOATDOUBLE

MLIB_BITY
MLIB_BYTE

MLIB_SHORT

MLIB_USHORT

MLIB_INT

[*] Each row represents a source data type. Each column represents a destination data type.  

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 the destination image. The number of entries in the lookup table is determined by the type of the input image. The format of the lookup table is:

table[channel][index]

The MLIB_BIT type entries are indexed from 0 to 1. The MLIB_BYTE type entries are indexed from 0 to 255. The MLIB_SHORT type entries are indexed from -32768 to -1, then from 0 to 32767. The MLIB_USHORT type entries are indexed from 0 to 65535. The MLIB_INT type entries are indexed from -2147483648 to -1, and then from 0 to 2147483647.

If a table covering the full range of input data type is not available or not realistic, which is mostly true for doing table lookup with an MLIB_INT input image, a smaller table can be used. In this case, the pointer to the table has to be adjusted as if it is pointing to the element for the smallest value of the input data type. For example, to use a table covering input data range of [-65536, 65535], the pointer needs to be adjusted as follows:

table_16_32[0] += MLIB_S32_MIN + 65536;

This might cause a pointer arithmetic overflow in 32-bit mode, but probably works if the overflow is handled as a wrap-around. If possible, function mlib_ImageLookUp2() should be used instead.

 

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 TYPEATTRIBUTE VALUE

Interface StabilityCommitted

MT-Level

 

SEE ALSO

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


 

Index

NAME
SYNOPSIS
DESCRIPTION
PARAMETERS
RETURN VALUES
ATTRIBUTES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 02:37:57 GMT, October 02, 2010