DIPlib Documentation - ©1995-2015 Quantitative Imaging Group, Delft University of Technology.

# Colour2Gray

Convert ND image with colour information to a (n-1)D grayvalue image (in dipIO)

## SYNOPSIS

`#include "dipio_tools.h"`

dip_Error dipio_Colour2Gray ( in, out, photometric )

## FUNCTION

This function converts a colour image, as read by `ImageReadColour`, to a grayvalue intensity image. `in` is expected to contain the colour information along the last axis. `out` will be a scalar image with one less dimension than the input.

## ARGUMENTS

Data type | Name | Description
`dip_Image` | `in` | Input image
`dip_Image` | `out` | Output image
`dipio_PhotometricInterpretation` | `photometric` | Photometric interpretation

The enumerator `dipio_PhotometricInterpretation` contains the following constants:

Name | Description
`DIPIO_PHM_GREYVALUE` | No colour information present; it's a grey-value image.
`DIPIO_PHM_RGB` | RGB image (the first three planes are red, green and blue)
`DIPIO_PHM_RGB_NONLINEAR` | Non-linear R'G'B' image (RGB channels to the power of 0.4)
`DIPIO_PHM_CMY` | CMY image (the first three planes are cyan, magenta and yellow)
`DIPIO_PHM_CMYK` | CMYK image (the first four planes are cyan, magenta, yellow and black)
`DIPIO_PHM_CIELUV` | CIE L*u'v' image (the first three planes are luminosity, u* and v*)
`DIPIO_PHM_CIELAB` | CIE L*a*b* image (the first three planes are luminosity, a* and b*)
`DIPIO_PHM_CIEXYZ` | CIE XYZ (the first three planes are X, Y and Z)
`DIPIO_PHM_CIEYXY` | CIE Yxy (the first three planes are Y, x and y)
`DIPIO_PHM_HCV` | HCV image (the first three planes are hue, chroma and value)
`DIPIO_PHM_HSV` | HSV image (the first three planes are hue, saturation and value)
`DIPIO_PHM_DEFAULT` | Same as `DIPIO_PHM_GREYVALUE`
`DIPIO_PHM_GENERIC` | Anything can be coded in the channels; the same as `DIPIO_PHM_CMYK`

Most file formats support only some of these.

## KNOWN BUGS

Some colourspaces are not converted correctly. R'G'B' (`DIPIO_PHM_RGB_NONLINEAR`), is treated like RGB. From a CIE Lab (`DIPIO_PHM_CIELAB`) or Luv (`DIPIO_PHM_CIELUV`) the luminosity channel is extracted, which is also a non-linear conversion away from the intensity. From HCV (`DIPIO_PHM_HCV`) and HSV (`DIPIO_PHM_HSV`) the value channel is extracted, which again is a non-linear conversion away from the intensity. CMYK (`DIPIO_PHM_CMYK`) and CMY (`DIPIO_PHM_CMY`) conversion is not implemented. Specifying these values will result in an error.

## SEE ALSO

`ImageRead`, `ImageReadColour`, `ImageReadROI`