im_invertlut(3) im_invertlut(3)
NAME
im_invertlut - turn a set of greyscale measurements into a gamma-cor- recting LUT
SYNOPSIS
#include <vips/vips.h> int im_invertlut( DOUBLEMASK *input, IMAGE *output, int lut_size )
DESCRIPTION
Given a mask of target values and real values, generate a LUT which will map reals to targets. Handy for linearising images from measure- ments of a colour chart. All values in [0,1]. Extrapolate head and tail to 0 and 1. Eg. input like: 4 3 0.1 0.2 0.3 0.1 0.2 0.4 0.4 0.2 0.7 0.5 0.6 0.3 means a patch with 10% reflectance produces an image with 20% in chan- nel 1, 30% in channel 2, and 10% in channel 3. A patch with 20% reflectance makes an image with 40% red, 40% green and 20% blue, and so on. Inputs don't need to be sorted (we do that). Generate any precision LUT ... typically ask for 256 elements. It won't work too well for non-monotonic camera responses (should fix this). Interpolation is simple piecewise linear; ought to do something better really.
RETURN VALUE
-1 on error, otherwise 0
SEE ALSO
im_histgr(3), im_hsp(3), im_heq(3), im_identity(3).
COPYRIGHT
2001, National Gallery June 2001 im_invertlut(3)
im_invertlut 7.14.5 - Generated Sun Sep 7 15:46:33 CDT 2008