manpagez: man pages & more
man im_invertlut(3)
Home | html | info | man
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
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.