0.90 Linux: display ICC profile uncorrectly applied to output image

*** Please report new bugs here! ***

Moderators: XnTriq, helmut, xnview, Dreamer

Post Reply
jenga
Posts: 2
Joined: Fri Jul 20, 2018 8:22 am

0.90 Linux: display ICC profile uncorrectly applied to output image

Post by jenga »

(Ubuntu 18.04). Source image: jpeg with srgb profile.

When option "utiliser le profil ICC" is selected, the displayed image is modified according to the display ICC profile, which is fine: pixel values on the screen are modified to compensate the physical screen bias (reading pixel values with ctrl-shift-I or looking at the histogram confirms this modification).

But when the image is saved on disk, even if no user modification has been made, the saved image differs from the initial one in a sensible way.
It seems that the stored pixel values are those altered according to the display profile, which should not be. Display profile, which is device-dependent, should be applied only on the displayed pixels, it should not alter the image itself.

The shift is cumulative, i.e. when saving again the saved image and so on, the result tends (in my case) to some uniform grey (because my display over-saturates a bit, thus my ICC profile reduces saturation and contrast).

I have tried to play with options in "Formats -> Ecriture / JPEG" (e.g. "conserver ICC" or not) with the same result.

When "utiliser le profil ICC" is unselected, the written image is fine (visually equal to the original one, pixel values are almost identical when good quality jpeg is selected), of course at the expense of the display quality as the hardware bias is not corrected.

Most importantly, I would like to sincerely thank you for providing the community with one of the best tools around.
User avatar
xnview
Author of XnView
Posts: 43357
Joined: Mon Oct 13, 2003 7:31 am
Location: France
Contact:

Re: 0.90 Linux: display ICC profile uncorrectly applied to output image

Post by xnview »

yes, 'save' use the image (with icc applied)
Pierre.
jenga
Posts: 2
Joined: Fri Jul 20, 2018 8:22 am

Re: 0.90 Linux: display ICC profile uncorrectly applied to output image

Post by jenga »

Thank you for your answer.
I think this thread reports exactly the same issue:

viewtopic.php?f=62&t=37755

Let's take an example:
-the RGB value of a pixel is (100, 100, 100)
-in this area the uncorrected display is too bright, which means the icc profile needs to reduce the values, let's say by 10%

Indeed, if we load this image with icc management enabled, XnView modifies the pixel value, according to the icc profile, to (90, 90, 90). ("show color information" confirms this). This is fine as far as display is concerned, colors are correctly corrected.

But "save" saves on disk the icc altered value (90, 90, 90), which is different from the initial one although no image modification has been done, which is surprising.
If we load the saved image (90, 90, 90), the color management then modifies the value to (81, 81, 81), another save/load operation leads to (72, 72, 72), etc. As a result, the image alteration grows in a very visible way at each save/load cycle.

I think "save" should rather save the pixel value not altered by the icc profile (i.e. 100, 100, 100) in the example), because this profile is related to the display, not to the image itself.

XnView is great anyway!
User avatar
xnview
Author of XnView
Posts: 43357
Joined: Mon Oct 13, 2003 7:31 am
Location: France
Contact:

Re: 0.90 Linux: display ICC profile uncorrectly applied to output image

Post by xnview »

jenga wrote: Thu Aug 09, 2018 6:59 pm Thank you for your answer.
I think this thread reports exactly the same issue:

viewtopic.php?f=62&t=37755
yes same issue
Pierre.
Post Reply