displaying photos correctly in apps without color management

I think I understand the original issue: If I have a photo in a color space that is significantly different form my screen’s color space I always need to convert it to my screen’s profile or a profile that is similar, if I want to see the correct colors without color management. Am I correct?

Bear-of-little-brain here would say, Yes.

If I have all this correct, that’s what the rendering intents control. And, it would appear that ‘relative colorimetric’ compels the scalng we’re discussing. ‘perceptual’ in a sRGB->AdobeRGB transform would just do nothing, as by definition all the original colors are still in the destination space’s gamut.

http://www.colorwiki.com/wiki/Rendering_Intent

Yes.

If your display software has no colour management, then it ignores whatever profile the image might contain, and will pass the pixel values unchanged to the hardware (or next bit of software in the chain).

So the way to get correct colours is to convert your image to the correct profile for your hardware. You need to convert to the profile (which changes pixel values and embeds the profile), not assign the profile (which merely embeds the profile without changing pixel values).

The procedure I used to get the Windows Desktop to display normal colours on a wide gamut monitor:

  1. Convert the image to your monitor ICC/ICM profile
  2. Assign sRGB to the image.

It’s exactly the reverse of the procedure to get Windows screenshots to display properly everywhere else beside your monitor – take the screenshot file to an editor which allows first assigning your monitor profile to the file, and then converting it to sRGB.

I agree you first need to convert the image to the display profile. But when you do that, the Windows Desktop/wallpaper looks oversaturated when using such a photo. And it is oversaturated because the Desktop app doesn’t respect the display profile – instead it erroneously assumes that every monitor is a perfect sRGB monitor. So to trick it, after converting the image to the display profile, you need to assign sRGB to the image. The photo will look desaturated in any properly colour-managed program, but will look correctly saturated as the Windows wallpaper/desktop image.

The default Windows screenshot tool does the opposite thing – it grabs the image of your desktop but erroneously assumes your monitor is in sRGB mode (there are very few monitors which can be called true sRGB monitors – usually they are wide gamut monitors using their sRGB emulation mode). The resulting image has an incorrect colour profile tag assigned to it when you use any other monitor than a perfect sRGB display. So you first need to assign your display profile to the screenshot, and then convert it to sRGB, since most screenshots are meant to be shared online and potentially viewed with non-colour-managed programs.

I suggest the OP should try the convert/assign route with his wallpaper image on a wide gamut monitor, and report back.

Interestingly enough, there are several applications which seem colour-managed when doing only the first part of a simple CM test, e.g. the DisplayCal CM test. The first test checks if the program reads the embedded profile.

When you set this red (tagged grey) square from that test as your Windows wallpaper, you will see the grey square on your desktop, which means that the Windows Desktop app respects the embedded profile. But if do the second test (the monitor profile test) and you install one of the display test profiles from the DisplayCal page and set it as you monitor profile, the Windows Desktop app will fail the test (showing a strong colour cast).

Other applications which pass the first test but fail the second test are: Windows Photos (the default Win10 photo viewer!), Internet Explorer, Edge, FastStone Image Viewer (!). All of them show oversaturated colours when viewed on a wide gamut monitor, and shouldn’t be used on any monitor to evaluate colours in your photos.

Some colour-managed applications don’t like LUT-type display profiles, e.g. Windows Photo Viewer, Firefox, FastPictureViewer. When using DisplayCal to calibrate your monitor you can create a single curve matrix profile and feed it to those applications to make them work properly.

Programs like darktable, RawTherapee, XnViewMP, IrfanView, etc. can all be colour-managed if you set them up correctly, so they should pass both tests. However, darktable seems to dislike the embedded LUT profiles as well (possibly a bug).

Thanks. If assigning a sRGB profile makes a difference to Windows Desktop, then the software must be reading that profile, and converting from that profile. I suppose we might call this semi-colour-management: it reads the image profile but assumes the output (display) profile is sRGB.

Is this because Windows hasn’t been set up correctly? On my laptop, I can assign a profile for each screen. Windows 8.1, Control Panel, Display, Screen resolution, Advanced settings, Colour management, Colour management button, has options for associating profiles with physical screens.

I don’t know if this (a) creates metadata that applications can use if they want for colour management or (b) Windows will use this metadata to automatically convert colours according to the device or (c) something else.

Yes, that’s exactly what it is.

No, there’s no Windows setting to make those faux-colour-managed applications display colours properly. One practical way of dealing with it when you have to use such applications is calibrating/profiling your wide gamut monitor to the sRGB target (thus dumbing it down).

The Windows Color Management settings in the Advanced tab deal mainly with the WCS subsystem, which is used by very few applications. Last time I tested this, Windows Photo Viewer could make use of that, as well as FastPictureViewer and DxO Optics Pro.

Maybe (oh, probably) a dumb question, but I though the current OS ‘color management’ services simply provided the location of a profile for the application to do the conversion work, a profile that corresponded with the LUTs loaded to the hardware… ??

BTW, I don’t think converting an image to the display profile for saving to a file is the best approach. That JPEG, TIFF, or whatever can then only be guaranteed to look appropriate on that display. Maybe another dumb thing from me… :smile:

When it comes to Windows, the first tab (Devices) in the Color Management utility allows the user to associate a profile with a device, and colour-managed programs simply consult that setting. The third tab (Advanced) is mostly about WCS.

It is the only approach I know of that works on Windows when you have a wide gamut monitor. But you’re right, the photo is not shareable with anybody else, and when you change your monitor you’ll need to change the wallpaper accordingly. Personally, I set my desktop wallpaper to 50% grey…

I’m staring right now at three monitors, Windows 10, desktop image is a high-res photo of my GAS object-of-affection, Nikon Z6. Mostly gray-black tones, but you can still see differences in brightness and, where there’s color, tint. It’s that situation that got me working toward color management in my software to begin with, or I might still be dumb and happy, staring at one screen at a time, metamerically ignorant… :smiley:

When they’re calibrated and profiled, the differences you see should be the result of technological differences between the panels (their respective gamut). I’d imagine brightness and contrast should be very similar, and tints in shadows are to be expected with some types of displays of limited gamut. Of course it gets exacerbated by the lack of colour management of the Windows desktop. When you convert that photo of Z6 to the primary monitor’s profile and assign sRGB to it, you should get at least one nice rendition – the other two will be incorrect, I’m afraid :wink:

My day job isn’t imaging, can’t bring in extraneous devices, so I’m doomed to my rather garish transitions across screens. Home, king of my castle (well, with due consideration of the Queen’s wishes), all displays are calibrated.

Now, I get the conversion to display colorspace, but why is the sRGB assignment necessary?

Yeah, the displays at work are all too blue and it’s too bright, with glare and colour casts all around, so I wouldn’t worry about colours in such circumstances.

You basically do the same thing that the Desktop app does: assume/assign sRGB as the display colour space for your image. An example: In non-colour-managed programs the maximum value of red in the sRGB space gets assigned to the maximum red that the wide gamut monitor is able to produce, so you get oversaturation. To deal with that you need to reverse the process: take the wide gamut red and assume/assign that it is sRGB red (undersaturation). Then feed it to the non-colour-managed program to get to normal saturation levels.

1 Like