143 lines
3.9 KiB
Groff
143 lines
3.9 KiB
Groff
|
.TH IM_XYZ2disp 3 "2 Decemder 1992"
|
||
|
.SH NAME
|
||
|
im_XYZ2disp, im_disp2XYZ, im_Lab2XYZ, im_XYZ2Lab, im_XYZ2Yxy, im_Yxy2XYZ,
|
||
|
im_XYZ2sRGB, im_sRGB2XYZ,
|
||
|
im_Lab2LCh, im_LCh2Lab, im_LCh2UCS, im_UCS2LCh \- convert images between
|
||
|
various colour spaces
|
||
|
.SH SYNOPSIS
|
||
|
#include <vips/vips.h>
|
||
|
|
||
|
int im_XYZ2disp(in, out, display)
|
||
|
.br
|
||
|
IMAGE *in, *out;
|
||
|
.br
|
||
|
struct im_col_display *display;
|
||
|
|
||
|
int im_disp2XYZ(in, out, display)
|
||
|
.br
|
||
|
IMAGE *in, *out;
|
||
|
.br
|
||
|
struct im_col_display *display;
|
||
|
|
||
|
int im_Lab2XYZ(in, out)
|
||
|
.br
|
||
|
IMAGE *in, *out;
|
||
|
|
||
|
int im_XYZ2Lab(in, out)
|
||
|
.br
|
||
|
IMAGE *in, *out;
|
||
|
|
||
|
int im_XYZ2Yxy(in, out)
|
||
|
.br
|
||
|
IMAGE *in, *out;
|
||
|
|
||
|
int im_Yxy2XYZ(in, out)
|
||
|
.br
|
||
|
IMAGE *in, *out;
|
||
|
|
||
|
int im_XYZ2sRGB(in, out)
|
||
|
.br
|
||
|
IMAGE *in, *out;
|
||
|
|
||
|
int im_sRGB2XYZ(in, out)
|
||
|
.br
|
||
|
IMAGE *in, *out;
|
||
|
|
||
|
int im_Lab2LCh(in, out)
|
||
|
.br
|
||
|
IMAGE *in, *out;
|
||
|
|
||
|
int im_LCh2Lab(in, out)
|
||
|
.br
|
||
|
IMAGE *in, *out;
|
||
|
|
||
|
int im_LCh2UCS(in, out)
|
||
|
.br
|
||
|
IMAGE *in, *out;
|
||
|
|
||
|
int im_UCS2LCh(in, out)
|
||
|
.br
|
||
|
IMAGE *in, *out;
|
||
|
|
||
|
.SH DESCRIPTION
|
||
|
Functions to convert images between the different colour spaces supported by
|
||
|
VIPS: RGB, sRGB, XYZ, Yxy, Lab, LCh and UCS. RGB and sRGB are three band uchar
|
||
|
files. XYZ, Lab, LCh and UCS are three band float files.
|
||
|
|
||
|
These are the basic conversion routines provided by VIPS. Other conversions,
|
||
|
such as im_Lab2disp(3), are built by composing these functions and are provided
|
||
|
as a convenience to the programmer.
|
||
|
|
||
|
The VIPS colour spaces inter-convert as follows:
|
||
|
|
||
|
+------- sRGB
|
||
|
|
|
||
|
LabQ ----- Lab ----- XYZ ----- RGB
|
||
|
| | |
|
||
|
| | +------- Yxy
|
||
|
| |
|
||
|
| +------- LCh ----- UCS
|
||
|
|
|
||
|
+-------- LabS
|
||
|
|
||
|
The colour spaces are:
|
||
|
|
||
|
LabQ --- This is the principal VIPS colorimetric storage format. See
|
||
|
im_LabQ2Lab(3) for an explanation. You cannot perform calculations on LabQ
|
||
|
images. They are for storage only.
|
||
|
|
||
|
LabS --- This format represents coordinates in CIE Lab space as 16-bit
|
||
|
integers. It is the best format for computation, being relatively compact,
|
||
|
quick, and accurate. Colour values expressed in this way are hard to
|
||
|
visualise. See the page for im_LabQ2LabS().
|
||
|
|
||
|
Lab --- Coordinates in CIE Lab space are represented as float values in the
|
||
|
usual range. This is the easiest format for general work: adding 50 to the L
|
||
|
channel, for example, has the expected result.
|
||
|
|
||
|
XYZ --- CIE XYZ colour space.
|
||
|
|
||
|
Yxy --- CIE Yxy colour space.
|
||
|
|
||
|
RGB --- This format is compatible with the RGB colour systems used in other
|
||
|
packages. If you want to export your image to a PC, for example, convert your
|
||
|
colorimetric image to RGB, then turn it to TIFF with vips2TIFF(1). You need to
|
||
|
supply a structure which characterises your display. See the manual page for
|
||
|
im_col_XYZ2rgb(3) for hints on these guys.
|
||
|
|
||
|
sRGB --- This is a standard RGB, as defined by:
|
||
|
|
||
|
http://www.color.org/contrib/sRGB.html
|
||
|
|
||
|
it's handy for carrying colour information through JPEG compressors, for
|
||
|
example.
|
||
|
|
||
|
LCh --- Like Lab, but the rectangular ab coordinates are replaced with the
|
||
|
polar Ch (Chroma and hue) coordinates. Hue angles are expressed in degrees.
|
||
|
|
||
|
UCS --- A colour space based on the CMC(1:1) colour difference measurement.
|
||
|
This is a highly uniform colour space, much better than Lab for expressing
|
||
|
small differences. Conversions to and from UCS are extremely slow.
|
||
|
|
||
|
These conversions set the Type field in the image header to LABQ, LABS, LAB,
|
||
|
XYZ, RGB, sRGB, LCH and UCS respectively. The Type field is for user
|
||
|
information only --- no function reads the Type field to determine its
|
||
|
behaviour. Visualisation programs, such as ip(1), use the Type field to help
|
||
|
present the information to the user.
|
||
|
|
||
|
All VIPS colour spaces are based around D65.
|
||
|
|
||
|
VIPS has functions for finding colour difference images. See
|
||
|
im_dE_fromLab(3).
|
||
|
|
||
|
.SH RETURN VALUE
|
||
|
The functions return 0 on success and -1 on error.
|
||
|
.SH SEE ALSO
|
||
|
im_col_XYZ2rgb(3), im_dE_fromLab(3), im_LabQ2Lab(3), im_Lab2disp(3).
|
||
|
.SH COPYRIGHT
|
||
|
National Gallery and Birkbeck College, 1990 - 1993
|
||
|
.SH AUTHOR
|
||
|
K. Martinez \- 2/12/1992
|
||
|
.br
|
||
|
J. Cupitt \- 21/7/93
|