blob: 02106cc17ec9513edb8079c9a370c81c09fdb484 [file] [log] [blame]
.TH IM_XYZ2disp 3 "2 Decemder 1992"
.SH NAME
im_LabQ2Lab, im_Lab2LabQ, im_LabQ2LabS, im_LabS2LabQ, im_Lab2LabS, im_LabS2Lab \- pack and unpack LABPACK images.
.SH SYNOPSIS
#include <vips/vips.h>
int im_LabQ2Lab(in, out)
.br
IMAGE *in, *out;
int im_Lab2LabQ(in, out)
.br
IMAGE *in, *out;
int im_Lab2LabS(in, out)
.br
IMAGE *in, *out;
int im_LabS2LabQ(in, out)
.br
IMAGE *in, *out;
int im_LabS2Lab(in, out)
.br
IMAGE *in, *out;
int im_LabQ2LabS(in, out)
.br
IMAGE *in, *out;
.SH DESCRIPTION
These functions pack and unpack LAB images.
LabQ is Lab packed in to 4 unsigned chars, with the Coding field set to
LABPACK. It counts as a coded type, since most operations will not give the
correct result on an image of this type. This is the MARC image type. Bits
are allocated as 10 for L and 11 for each of a and b. The first three bytes
contain the 8 most significant bits of Lab respectively, the final byte has
2/3/3 bits (MSB on left) of Lab respectively.
im_LabQ2Lab() and im_Lab2LabQ() convert LABPACK images to three band float
images, scaled to look sensible to humans. This is the most convenient LAB
format for development work, but is rather slow.
im_LabQ2LabS() and im_LabS2LabQ() convert LABPACK to and from three band
signed short images. L is shifted and masked to be in the range [0,32767], a
and b are shifted and masked to lie in [-32768,32767]. This is the best
computational LAB format, combining precision and speed. Programs such as
conv(1X) and similarity(1X), which can operate directly on LABPACK images,
unpack to LabS for computation.
.SH RETURN VALUE
The functions return 0 on success and -1 on error.
.SH SEE ALSO
im_col_XYZ2rgb(3), im_dE_fromdisp(3), im_XYZ2disp(3).
.SH COPYRIGHT
National Gallery, 1990 - 1993
.SH AUTHOR
J. Cupitt \- 21/7/93