Steve on Image Processing with MATLAB

Image processing concepts, algorithms, and MATLAB

Color Gamut Mapping

After attending ICC DevCon 2008 last week in Portland, Oregon, I stayed for another day to take a couple of short courses at the Color Imaging Conference. One of the courses was Color Gamut Mapping, taught by Ján Morovic of Hewlett-Packard. Ján is the author of the book Color Gamut Mapping, published this past summer. I didn't get a chance to look at the book, but I thought Ján's short course was quite good.

Let me show you a couple of pictures to illustrate what I mean by color gamut mapping.

The first is a sample color image that ships with the Image Processing Toolbox (peppers.png):

The second image simulates what the first might look like if printed in a newspaper:

(The process of simulating the appearance of hardcopy output on a computer monitor is called soft proofing.)

The two images look substantially different because many colors that can be displayed on a typical computer monitor cannot be exactly reproduced on newsprint. We say that the monitor and the newsprint have different color gamuts, and the process of mapping monitor colors to newsprint colors is color gamut mapping.

Ján provided more precise definitions of these terms from CIE and ISO:

Colour gamut: a range of colours achievable on a given colour reproduction medium [...] under a given set of viewing conditions - it is a volume in colour space. (CIE, 2004d, pp. 2)

Gamut mapping: mapping of the colour-space coordinates of the elements of a source image to colour-space coordinates of the elements of a reproduction to compensate for differences in the source and output medium colur gamut capability. (ISO 22028-1:2004)

Color science presentations all seem to spend a lot of time on definitions! That's probably because there is often much confusion and disagreement over them.

Notice that the definition of color gamut refers to both the reproduction medium (characteristics of paper, inks, etc.) and the viewing conditions (such as the level and type of ambient light). One of my favorite quotes of the conference was from Ján: "In complete darkness all prints have the same gamut."

Different gamut mapping methods have different aims. For example, in some situations you might want to preserve the colors that are in both the source and the destination gamuts. Below is a soft proof of such a mapping.

This soft proof exhibits considerable clipping and loss of detail. That's because the goal of preserving in-gamut colors limits our ability to adjust the out-of-gamut colors in a pleasing way. On the other hand, the first soft proof shown above uses a different gamut mapping method that adjusts both in-gamut and out-of-gamut colors in order to produce a result that's more "pleasing."

I'm working on a new example using ICC profiles and different rendering intents. That example will show how I created the soft proofs above using Image Processing Toolbox functions. I'll post it soon.

I'll leave you with a new word I learned in the course. Ján talked about the difference between a person's verbal description of a perception (such as color), and the perceptual experience itself. The verbal description is only a very indirect representation of the experience. In that context, Ján taught us the word ekphrasis, which refers to a rhetorical description of a visual work of art, like a poem about a sculpture.

There you go - a little Greek education to mix in with your dose of image processing for the day.

Note added 29-Oct-2013: Please visit the discovery page on Color Profiles for more information on color processing with MATLAB.

Published with MATLAB® 7.7

  • print
  • send email


To leave a comment, please click here to sign in to your MathWorks Account or create a new one.