Main Content

xyz2double

Convert XYZ color values to double

Description

xyzD = xyz2double(xyz) converts XYZ color values to type double.

example

Examples

collapse all

This example shows how to convert uint16-encoded XYZ values to double.

Create a uint16 vector specifying a color in XYZ colorspace.

c = uint16([100 32768 65535]);

Convert the XYZ color value to double.

xyz2double(c)
ans = 1×3

    0.0031    1.0000    2.0000

Input Arguments

collapse all

Color values to convert, specified as a m-by-3 numeric matrix of color values (one color per row), or an m-by-n-by-3 numeric array.

Data Types: uint16

Output Arguments

collapse all

Converted color values, returned as a numeric array of same size as the input.

Data Types: double

Algorithms

The Image Processing Toolbox™ software follows the convention that double-precision XYZ arrays contain 1931 CIE XYZ values (2° observer). The XYZ arrays that are uint16 follow the convention in the ICC profile specification (ICC.1:2001-4, www.color.org) for representing XYZ values as unsigned 16-bit integers. There is no standard representation of XYZ values as unsigned 8-bit integers. The ICC encoding convention is illustrated by this table.

Value (X, Y, or Z)

uint16 Value

0.0

0

1.0

32768

1.0 + (32767/32768)

65535

Version History

Introduced before R2006a