1 |
On Thursday 10 Sep 2015 22:07:44 wabenbau@×××××.com wrote: |
2 |
> Mick <michaelkintzios@×××××.com> wrote: |
3 |
> > On the same hardware I noticed that a CMYK photograph converted to |
4 |
> > sRGB looked mostly the same (indistinguishable) on Linux, but the |
5 |
> > sRGB colours were brighter on MSWindows. |
6 |
> > |
7 |
> > I tried this by dual booting between MSWindows and Linux. |
8 |
> > |
9 |
> > Then I tried it by running MSWindows within a VM on a Linux host and |
10 |
> > the MSWindows showed a clear difference in brightness between the two |
11 |
> > formats. |
12 |
> > |
13 |
> > Finally, I checked on an AppleMac and the difference between the CMYK |
14 |
> > and sRGB photographs was even more prominent than MSWindows. |
15 |
> > |
16 |
> > So, the Linux renedering seems to be misleading the user. Have you |
17 |
> > noticed the same? |
18 |
> > |
19 |
> > BTW, both Linux machines that I tried this on are running radeon |
20 |
> > drivers - are these to blame? The AppleMac is running Intel graphics |
21 |
> > with its 'retina' monitor. Is it a matter of somehow tuning the Xorg |
22 |
> > settings on my Linux PCs? |
23 |
> |
24 |
> First I must say that even though I'm working as a photographer I'm not |
25 |
> an expert on Color Models. The professional exposure and print service |
26 |
> that I use only accepts RGB Color Models. They use laser projectors to |
27 |
> expose photographic papers. No conversion to CMYK is necessary. |
28 |
> If I order fine art prints, they are doing the conversion by them self. |
29 |
> All I have to do is softproofing my pictures in Lightroom using their |
30 |
> different ICC profiles, to make sure that I don't deliver pictures that |
31 |
> are out of the destination gamut. |
32 |
> So I don't have any practical experiences with CMYK pictures. I only |
33 |
> have some incomplete theoretical knowledge about it. |
34 |
> |
35 |
> CMYK is a subtractive color model and RGB is an additive color model, |
36 |
> they are working completely different. It is not possible to convert |
37 |
> one in to the other by just simply adjust some gamma curves or using a |
38 |
> LUT as it is done by color management systems like lcms. |
39 |
> |
40 |
> When you are watching a CMYK picture, your picture viewer has to convert |
41 |
> it to a RGB color space (sRGB or AdobeRGB or similar), because that is |
42 |
> what your monitor needs. And I think there are not much picture viewers |
43 |
> that are able to display a CMYK picture. |
44 |
> |
45 |
> This conversion can not be done by the graphics driver, regardless what |
46 |
> kind of OS you use. Indeed Linux drivers can only use 8 bits per color |
47 |
> channel (that's really poor IMHO) and Windows can use 10 bits per channel |
48 |
> (depends on the graphics card), but this can't make big differences in |
49 |
> brightness or saturation. It only leads to smother color transitions in |
50 |
> some pictures. |
51 |
> So I don't think that the drivers have anything to do with your problem. |
52 |
> |
53 |
> Apart from the different color models (CMYK vs RGB) there exist different |
54 |
> color spaces (eg. AdobeRGB and sRGB). When you convert one color space in |
55 |
> to an other, there are parameters like black point compensation and |
56 |
> different rendering intents (perceptual and relative or absolute |
57 |
> colorimetric), that can make a difference in the resulting picture. |
58 |
> |
59 |
> You didn't told exactly what you have done. This makes it difficult to |
60 |
> find a reason for the problem. But I can think of different reasons for |
61 |
> the phenomenon you observed: |
62 |
> |
63 |
> Different picture viewers and/or different color management systems and/or |
64 |
> different color spaces (including different rendering intents respectively |
65 |
> black point compensations). :-) |
66 |
> |
67 |
> -- |
68 |
> Regards |
69 |
> wabe |
70 |
|
71 |
Thank you all for your answers. They guided me to do some reading in this |
72 |
field, which is quite a science all on its own! |
73 |
|
74 |
The problem I had was caused by the use of ImageMagick's 'convert -colorspace |
75 |
RGB' which is an approximation rather than specific to the colour profile of a |
76 |
particular image. As I posted the colours of the original and the converted |
77 |
looked similarly saturated, over-brightened, on Linux. On AppleMac (different |
78 |
box) and MSWindows (same box and same monitors) the difference between the two |
79 |
images was more noticeable. |
80 |
|
81 |
I spent some time adjusting the brightness, contrast and RGB colours on the |
82 |
two monitors to make them as close to each other as possible and as close to |
83 |
some images I had of some fabrics. I used these because I also had physical |
84 |
samples of these same fabrics, so I could compare them against the real thing. |
85 |
|
86 |
I also used colour patterns I found on the Internet for calibrating monitors. |
87 |
The match between the two monitors was not perfect, because one is LCD and the |
88 |
other a much brighter LED. |
89 |
|
90 |
Then I played with the System Settings/Display/Gamma of KDE, but noticed I |
91 |
could only affect the RGB colours on the left monitor. So I started searching |
92 |
for various applications that would allow me to finely tune the calibration of |
93 |
the monitors. |
94 |
|
95 |
I ended up installing media-libs/oyranos and kde-misc/kolor-manager. The |
96 |
oyranos application connects to the Taxi DB of icc profiles[1] and fetches the |
97 |
icc profiles for different monitors that contributors have submitted |
98 |
calibration settings for. This means that I do not have to use a spectrometer |
99 |
or calorimeter, as long as I am happy to live with some variation that may |
100 |
exist between monitors of the same make and model. |
101 |
|
102 |
Kolor-manager adds a new setting selection in System Settings of KDE which |
103 |
allows me to select each monitor in turn, see the EDID icc that the OS reads |
104 |
from the monitor chipset and then fetch any profiles that people have updated |
105 |
to the Taxi DB and use them instead. In addition, the Kolor-manager saves any |
106 |
such profiles locally in ~/.local/share/color/icc/ and loads what I select |
107 |
when X starts. |
108 |
|
109 |
There are other non-KDE applications like monica, which adds gamma correction |
110 |
values to .monicarc and then a call for loading these values in .xinitrc, or |
111 |
.bashrc, so that when X starts the appropriate icc file is sourced. |
112 |
|
113 |
Peter's description does not mention which application loads the .icc file |
114 |
that the hughski creates, but I'm guessing there must be something that does |
115 |
read it, if the monitor settings are indeed altered. |
116 |
|
117 |
|
118 |
With the monitors sorted as best as I could adjust them manually I loaded the |
119 |
icc files with Kolor-manager. I could not see any change in the colors |
120 |
displayed by the monitors. They are both wide gamut monitors, so perhaps the |
121 |
RGB changes were within the narrower RGB spectrum and that's why I did not |
122 |
notice a difference - not to mention that my eyes are not they used to be. :p |
123 |
|
124 |
|
125 |
Having done all this, I revisited ImageMagick. I ran identify -verbose and |
126 |
discovered that the original jpg image did not have an embedded icc profile. |
127 |
So I reran the command specifying a cmyk profile for the input file and an |
128 |
sRGB for the output file. The result is now satisfactory and comparable on |
129 |
all operating systems. |
130 |
|
131 |
I am still a bit unclear if on non-KDE dekstops xserver will pick up any icc |
132 |
files for the monitor from ~/.local/share/color/icc and load them at start up |
133 |
all on its own, or if any additional software is necessary to achieve this. |
134 |
|
135 |
Thanks again for your help. |
136 |
|
137 |
|
138 |
[1] http://icc.opensuse.org/ |
139 |
-- |
140 |
Regards, |
141 |
Mick |