Poster of Linux kernelThe best gift for a Linux geek
IM_INVERTLUT

IM_INVERTLUT

Section: C Library Functions (3) Updated: June 2001
Local index Up
 

NAME

im_invertlut - turn a set of greyscale measurements into a gamma-correcting 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 measurements 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 channel 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


 

Index

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
SEE ALSO
COPYRIGHT

This document was created by man2html, using the manual pages.
Time: 21:48:20 GMT, April 16, 2011