PDA

View Full Version : PS CS: Color shift with Save for Web


Jesper
10th of April 2004 (Sat), 05:32
I've noticed that with some photos, the colors change slightly if I use "Save for Web" in Photoshop CS. I have a flower photo here with a red tulip, and the red color changes slightly. In the Save for Web dialog box (before I actually save it) I can already see the difference.

The image is in the sRGB color space. If I do Save As and save it as a JPEG, the same color shift appears...

Why does this happen?

Scottes
10th of April 2004 (Sat), 11:06
Chances are that the original colors didn't fit into the color gamut space of sRGB. Try creating a new image in Adobe RGB and Flood Fill it with pure red. Click on View Out Of Gamut and you'll see everything go grey. Uncheck that and then convert it to sRGB. Pure red can't be portrayed accurately in either gamut space, but the conversion to sRGB forces it to the best red that sRGB can portray.

Alas, it's expected for this to happen.

maderito
10th of April 2004 (Sat), 14:14
In "Save for the Web" you are no longer in the Photoshop color managed working space (usually Adobe RGB or sRGB). You are instead in the native color space of your monitor.

While in PS, if you view (i.e. "soft proof") your image in "Monitor RBB" via View/Proof Setup/Monitor RGB, the image will look the same as in Save for the Web. Monitor RGB in effect cancels PS color management.

Depending on your monitor properties and calibration, it may have a gamut similar to or quite different from sRGB. If it is well calibrated, it will accurately represent sRGB gamut colors within a color managed environment like Photoshop.

Typically, your monitor should be able to display a larger gamut and thus more vivid reds than available in the sRGB gamut.

As Scottes suggests, use a fully saturated red (255,0,0) to check differences between the color spaces. Set the PS working space to sRGB and then compare the difference of assigning an sRGB profile vs. and Adobe RGB profile to the image (via Image/Mode/Assign Profile). If your monitor is up to the challenge, the wider gamut of the Adobe space should be evident.

Jesper
11th of April 2004 (Sun), 03:18
Scottes: I had already converted the image from Adobe RGB to sRGB. But the sRGB image in Photoshop looks different than the preview in the Save for Web dialog.

Maderito: You're right - if I soft proof the image with Monitor RGB, I get exactly the colors that I see in the Save for Web dialog.

I've already noticed that my monitor can display more than sRGB, because when I convert from Adobe RGB to sRGB, I can also see some colors change - especially orange and red colors change a little bit.

I've profiled and calibrated my monitor with a Spyder (with PhotoCAL). Can the difference be explained because the monitor profile created with the Spyder isn't accurate enough?

maderito
11th of April 2004 (Sun), 08:52
Jesper,

You are working in 3 different color spaces - Monitor, Adobe RGB 1998 (ARGB), and sRGB. A given color number - say Red:255,0,0 - looks different in all three. By calibrating your monitor, you permit accurate rendering of this red in the three spaces.

There must be a 4th reference color space (say LAB) that connects the other three spaces. It is therefore called the "Profile Connection Space." You never see it, but its values are embedded in your ICC profiles.

Let 255 equal the color number for pure red in a given RGB color space. In the three RGB color spaces, call this red ARGB:255, sRGB:255, and Monitor:255. For simplicity, let's say these colors map to LAB colors between 90 and 100. This mapping is specified in the ICC profile.

Color 255 in Adobe RGB color space
ARGB:255 = LAB:95
LAB:95 = Monitor:250 (which is what you see in PS)

Color 255 in sRGB space
sRGB:255 = LAB:90
LAB:90 = Monitor:240 (which is what you see in PS)

Color 255 in Monitor RGB space
Monitor:255 = LAB:100
LAB:100 = Monitor:255 (I know, we just went around in a circle :) )

Thus the same color number 255 (of an image) is rendered 3 different ways by your monitor depending on the associated color space.
Monitor 255 (Monitor RGB)
Monitor 250 (Adobe RGB)
Monitor 240 (sRGB)

A well calibrated monitor does not mimic a specific color space. Monitoring calibration and profiling simply optimizes the display characteristics by setting black point and adjusting RGB tone curves, and then connects the resulting colors to a reference color space by writing and storing a monitor ICC profile.

If this all makes sense, you won't rush off to recalibrate your monitor. By profiling your monitor against an external standard (other than your own eyes), your have removed a major variable in accurate color management. Even if the monitor characteristics change over time, these changes will be recorded as you periodically recalibrate your monitor and update the monitor profile.

If you find this stuff stimulating :shock:, read more here (http://www.boscarol.com/pages/cms_eng/). :D

Jesper
11th of April 2004 (Sun), 13:54
Thanks Maderito, I know what color spaces are and how ICC profiles work to translate from one space to the other (Norman Koren's introduction to color management and color science (http://www.normankoren.com/color_management.html) is also a good reference), but I thought that in Windows, sRGB was supposed to be the default color space - i.e., in non-colormanaged applications, images in sRGB should look the same as in color-managed applications.

Now I understand that that's not exactly the case - in non-color managed applications, you see the image in the native space of the monitor. sRGB is supposed to represent the color space of the average monitor, but ofcourse the native space of a monitor is never exactly the same as sRGB.

In Windows, the PhotoCAL software is loaded when I boot the computer (there's a "PhotoCAL Startup" icon in the "Startup" menu). What does that do exactly?

maderito
11th of April 2004 (Sun), 16:08
In Windows, the PhotoCAL software is loaded when I boot the computer (there's a "PhotoCAL Startup" icon in the "Startup" menu). What does that do exactly?

I don't know.

Windows OS interacts with monitor hadware and a monitor ICC profile to generate color. When you use the PhotoCAL (or Adobe Gamma) utility, you are assured that the PhotoCal (or Adobe Gamma) created monitor profile is used by the operating system. As you know, you must be sure to have only one of the utilities active.