This tutorial explains six ways to convert an image to monochrome:
- The "standard" grayscale conversion operation.
- The desaturate operation.
- Decomposing to RGB and using any one of the channels.
- Decomposing to HSV and using the Value (V) channel.
- Decomposing to LAB and using the Lightness (L) channel.
- Using the Channel Mixer filter.
Do the techniques differ only in the amount of control each provides over conversion, or they produce significantly different results?
Are there specific situation when one is preferred over other, or it is a matter of personal preference?
Answer
In theory, the proper way to convert a color image to black and white should be to use the luminance channel. Luminance is a measure of how sensitive our eyes are to a particular color, thus how “bright” we see it. Alas, Gimp provides many ways to convert to B&W, but not the proper one. :-(
Here is a test image I used to compare the different methods. You can download it and see for yourself:
The triangle on the left is a section through the color cube in the plane containing the primaries R, G and B. I made the section in linear-RGB space, then gamma-encoded it to sRGB. The triangle on the right is the “proper” B&W rendering of the previous, i.e. the gamma-encoded luminance. Converting this image to B&W, I make the following observations:
- Green is a lighter color than blue, yet many conversion methods do not acknowledge this and render all the primaries with equal lightness
- desaturate/lightness has this problem (same weight to all primaries) and in addition produces some artificial lines in the triangle
- desaturate/average also weights equally all primaries but gives a smoother image; only it tends to render saturated colors darker than less saturated ones
- desaturate/luminosity gets quite close, but saturated blues and reds are rendered too dark; technically this is the luma channel, i.e. the “right” thing except for forgetting the gamma decoding/encoding
- convert to grayscale is the same as desaturate/luminosity
- keeping a single R, G or B channel looks really weird if you have saturated colors
- the V channel from HSV renders all primaries as white, which is very unnatural
- the L channel from LAB is awful, as it does not preserve grays (they get too light)
- the Y channel from ITU R709 is the same luma as desaturate/luminosity
- the Y channel from ITU R470 is also a sort of luma, but it uses weights for R, G and B that differ from the sRGB weights; actually I think it's the most natural rendering.
OK, now this is the theory about getting the most “natural” rendering. In practice, you may want to instead use whatever rendering better serves the image at hand. For example, you may overweight the reds in the channel mixer to brighten and smooth skin tones, or to increase the contrast between blue sky and white clouds. My personal conclusions are:
- If the image does not have strongly saturated colors, then any method should provide a reasonable rendering, save for L from LAB; I would then not care too much and use any of them, probably convert to grayscale or desaturate/luminosity (which are the same)
- If there are saturated colors and I want the most natural rendering, I would go for the Y channel from ITU R470
- If I want more control, then I would use the channel mixer, start at roughly (1/3 R, 1/2 G, 1/6 B), then tune to taste
- In any case, I would edit the image with the curves tool right afer the conversion, just to get a pleasing contrast and brightness.
No comments:
Post a Comment