Converting color image to gray-scale image is often the first step of many image processing tasks. There exists many gray-scale image conversion methods. Most them, however, is to give R G B bands a weighting factor and then the gray-scale image is the weighted sum of R G B bands. I think this is not right in many cases. For example, the most straightforward of way of conversion is to average the R G B bands: gray=0.33*(R+G+B). If we use this formula for generating gray-scale image, then a red object with pixel value R=250 G=0 B=0 will have the same value with a green object (R=0,G=255,B=0). Any ideas of smart color conversion? Thanks.
3 Answers
There are method which are called Contrast Preserving Decolorization.
Those methods are built to keep the contrast in the Color image in the converted image.
They are based on Optimization Problem Solving which creates a Contrast Model in the color space and in the gray scale space.
For instance, have a look on that:
This is a crucial question. You are evoking the standard linear transformations. There is a rich literature on the topic, you can for instance with:
- Ford and Roberts, 1998: Colour Space Conversions
- Poynton, 1997: Color FAQ
- Poynton, 1997: Gamma FAQ
The most standard method of converting an RGB image into an equivalent gray scale image is to use RGB to YUV transform and get the luminance Y component which represents the brightness of the RGB image. This converison method is used in every commercial image & video processing system.