

If the image has any colors that are out of gamut with respect to the bounded sRGB color space, and especially if the color cast was created using a color that's out of gamut with respect to the bounded sRGB color space, then correcting a color cast in the unbounded sRGB color space produces not just wrong results, but spectacularly wrong results. However, except in the limiting case where the color cast was created in the sRGB color space (bounded or unbounded), color correction fails in the unbounded sRGB color space.
Bad colorcast software#
Occasionally a software developer will conclude that because unbounded sRGB (also called "extended sRGB") can be used to encode and display all possible colors, therefore it's also suitable as a "universal working space" for editing all images. The problem, of course, is that multiplication is a chromaticity-dependent editing operation: in other words, the result of multiplying two colors depends on the chromaticities of the color space in which the multiply operation is performed. This has the perhaps unexpected consequence that a color cast that is created in any given RGB working space can't be correctly removed in some other RGB working space. But the RGB channel values are different. The inverse of a color is the same color (has the same location in the XYZ reference color space) before and after an image is converted from one RGB color to another. That same color cast is removed by multiplying the image layer by the inverse of that same color. Introduction: When correcting an image color cast, the RGB working space you use does matterĪ color cast is created by multiplying an image layer by a particular color. However, the problems illustrated below are more broadly applicable: Color balancing an image is a chromaticity-dependent editing operation and so an unwanted color cast should always be corrected in the RGB working space in which it was created.
Bad colorcast series#
This article is part of a series of articles on the limitations of unbounded sRGB as a universal color space for image editing. Appendix 2: Additional examples of odd colors that result from trying to color balance images in the unbounded sRGB color space.Appendix 1: Normalizing the RGB channel values before color balancing doesn't work.Conclusion: Color correction fails in the unbounded sRGB color space.Why the chromaticities matter when color correcting images.Using unbounded sRGB to remove five different cyan color casts created in five different RGB working spaces.Introduction: When correcting an image color cast, the RGB working space you use does matter.
