This is just academic:
I want to find a cyclical way to convert from sRGB to ProPhoto and vice-versa on Photoshop.
I notice that no matter that the images from Is Your Browser Color-Managed? looks different inside of PS…
the browser renders both identical and that’s the goal of the ICC profile, I know.
But, when I try to change the color profile of the proPhoto one to sRGB on PS (with “convert to profile…” and “assign profile”) that doesn’t work and actually looks the same on PS and of course renders different on the browser.
And with the same resultant image I tried to convert it back to proPhoto and that doesn’t work either.
There is a cyclical way to convert a image between sRGB and Prophoto and making them to looks the same on the browser?
- My main display is a Huion Kamvas 13 with 120% sRGB according to the manufacturer.
- Because of that the image on the ProPhoto space won’t look the same as the sRGB one without proofing colors.
- The original image tagged with sRGB doesn’t have a ICC profile, but by default the browser will assume it as sRGB, not the same with Photoshop.
Regardless of my browser shows them the same, Photoshop show them different without proofing colors and also different with sRGB internet proofing colors. They only look the same if I only set the unprofiled one (sRGB tagged) to sRGB proof colors.
- For the unmanaged image with no proof colors I guess that PS stretch the RGB colors (oversaturating them) to my larger 120% sRGB space right?
- For the ProPhoto with sRGB proof colors I guess is like to have double conversion first from ProPhoto to 120% sRGB and than to 100% rgb. That implies that in a 100% rgb that image will look right Isn’t it?
After a kind of laboratory a realized (I think) that my 120% sRGB screen (or driver) tells to PS to operates the transformations with that space when converting color profiles as you can see in the “sRGB Converted to ProPhoto” (1st row, 2nd col) resulting in wrong colors. But if I tell to PS that the unmanaged image is on the sRGB space assigning it a sRGB profile before I convert to the ProPhoto space, PS do the works correcly
Now I want to go back from ProPhoto to sRGB
Here you an see that if I just assign a sRGB profile to the ProPhoto (sRGB, sRGB assigned, Converted to ProPhoto) image the colors get borked as @Tetsujin mentioned. But if a converted to sRGB and then remove the color management I’m able to get back a image virtualy equal to the original sRGB one
You will be able to calculate the RGB values that PS calculates with this calculator
First go from sRGB to XYZ and then to ProPhoto (white D65, gamma 1.8)
Then for the example of Steven Kersting sRGB(0,255,25) is XYZ(0.359330, 0.715854, 0.128430) and ProPhoto(138.0695, 236.5775 80.7067), but with a 8-bit depth with dont have that precision, actually we dont have decimales
so ProPhoto(138, 236, 80) is XYZ(0.358508, 0.712998, 0.126304) and sRGB(9.1773, 254.4782, 21.9759)
Proposal of answer
So for my question
There is a cyclical way to convert a image between sRGB and Prophoto
and making them to looks the same on the browser?
The answer has three big considerations: What is my native color space (the one that is told by the video driver to the PS), Is the source image color unmanaged or does it have color profiles assigned? and What is the format and color depth of the image?. If my native color space is 100% sRGB I could go straight converting profiles. But if I have another color space than 100% sRGB like me with 120% sRGB then a have to pay attention if the source image has a color profile, if it don’t have one I must assign a color profile before the conversion. Now if I have a 8-bit depth LQ JPEG we’ll be able to see some color distorsion in the cyclical conversions, but if I have a 16-bit uncompressed TIFF I may not see significant differences. In the image below you can see that i managed to replicate the conversion on my 120% sRGB workspace (the bottom-right one).
You will be able to calculate the RGB values that PS calculates with this calculator. First go from sRGB to XYZ and then to ProPhoto (white D65, gamma 1.8). Then for the example of @Steven Kersting, sRGB(0,255,25) is XYZ(0.359330, 0.715854, 0.128430) and ProPhoto(138.0695, 236.5775 80.7067), but with a 8-bit depth we dont have that precision, actually, we don’t have decimals, so for PS to get back, it will be ProPhoto(138, 236, 80) that is XYZ(0.358508, 0.712998, 0.126304) and is sRGB(9.1773, 254.4782, 21.9759) and of course this will be rounded. But this scenario is idealistic because as mention @doug if you set the dither option you will have some kind variation to maintain the average and reducing the error, and even better results if you have a 16-bit color depth