Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Role of color profile in graphics program

I think I understand what color profiles are. I do not understand, what is the difference in manipulating photo for example in photoshop in 16bpp sRGB and 16bpp Adobe RGB. My monitor can only show me sRGB.

  • Is there any difference in algorithms?
  • Maybe there is some preprocessing executed before program displays effects of my work (for example AdobeRGB(0.3, 0.25, 0.82) is being displayed as sRGB(0.301, 0.253, 0.819) in my monitor)?
  • Is there any sense in using different color profiles when I am not using ICC profile of my monitor/printer?
  • In general – what should I do if I would want to develop my own graphics-manipulating application that supports profile different than sRGB (for example in Qt)?
like image 217
Mariusz Jaskółka Avatar asked Mar 15 '16 08:03

Mariusz Jaskółka


People also ask

What is the purpose of a color profile?

Color profiles help standardize what your colors look like across different screens. In the world of design, there are two types of color profiles you'll run into most often: sRGB and Display P3. Let's take a closer look at their differences.

What color profile should I use for graphic design?

sRGB is the safe choice. Mosty devices like computer monitors, cameras and inkjet printers are all set to sRGB by default. sRGB is the color space for images and graphics on the web. If you're a web designer, again sRGB may be a better choice.

What is the importance of color management software?

Color Management Systems can help manage color between different devices and software programs so that consistent results and exact matches are achieved.

What is color profile of an image?

A color profile is a set of data that characterizes either a device such as a projector or a color space such as sRGB. Most color profiles are in the form of an ICC profile, which is a small file with a . ICC or . ICM file extension. Color profiles can be embedded into images to specify the gamut range of the data.


1 Answers

The color space your image uses determines how your 16 bits per pixel should relate to the output produced by your monitor, i.e., it determines what colors the numbers actually represent.

This can make a difference in the way some algorithms are processed if they are supposed to make realistic, natural-looking, or consistent results.

Let's say you composite a semi-transparent yellow on top of a dark red background? What kind of brown do you get? If the algorithm always mixes the pixel data the same way, then even when the yellow and red look the same on your monitor, the brown you get might be different because of your color space.

A more 'correct' way to do mixing would be to transform your pixel data into a consistent color space, mix, and then transform back. If the original colors look the same on two monitors with different calibrated profiles, then they will transform into the same numbers in a consistent color space, and the mix result will transform back into results that look the same on both monitors even though the pixel values might be different.

Natural-looking compositing with semi-transparency is a good example of an algorithm that has to take your color space into account in order to produce realistic results. Other effects that have to look 'natural', like specular highlights, shadows, etc., similarly need to do physically accurate math in a consistent color space.

To answer your specific questions:

  1. Yes, as explained, many algorithms should perform different calculations with different color spaces.

  2. Yes, there is. The image's color space defines what the data means in terms of physical light. If you display it with an ICC calibrated profile, it is transformed into the numbers that your monitor needs to accurately display your image.

  3. It should make very little difference what color space you use for your image, except that some display software won't take it into account. Making sRGB images is better for cross-system compatibility, but I think Adobe RBG has a bigger gamut and can actually represent some green colors that sRGB can't. You should use printer and monitor calibration so that you can SEE what your image really looks like.

  4. I think I answered that above.

like image 114
Matt Timmermans Avatar answered Oct 15 '22 05:10

Matt Timmermans