Constructor

VipsImagetonelut

Declaration [src]

int
vips_tonelut (
  VipsImage** out,
  ...
)

Description [src]

vips_tonelut() generates a tone curve for the adjustment of image levels.

This is mostly designed for adjusting the L* part of a LAB image in a way suitable for print work, but you can use it for other things too.

The curve is an unsigned 16-bit image with (in_max + 1) entries, each in the range [0, out_max].

Lb, Lw are expressed as 0-100, as in LAB colour space. You specify the scaling for the input and output images with the in_max and out_max parameters.

::: tip “Optional arguments” * in_max: gint, input range * out_max: gint, output range * Lb: gdouble, black-point [0-100] * Lw: gdouble, white-point [0-100] * Ps: gdouble, shadow point (eg. 0.2) * Pm: gdouble, mid-tone point (eg. 0.5) * Ph: gdouble, highlight point (eg. 0.8) * S: gdouble, shadow adjustment (+/- 30) * M: gdouble, mid-tone adjustment (+/- 30) * H: gdouble, highlight adjustment (+/- 30)

Parameters

out VipsImage
 

Output image.

 The argument will be set by the function.
 The called function takes ownership of the data, and is responsible for freeing it.
... none
 

NULL-terminated list of optional named arguments.

Return value

Returns: int
 

0 on success, -1 on error.