Writing color calibration data to a TIFF or PNG file

My custom home photo processing software, running on 64-bit Linux / GNU, writes PNG and TIFF files. They must be sent to a quality printing company to be in the art. When working with interior designers, it’s important to get colors right away!

Printing houses usually have no problems with TIFF and PNG from commercial software such as Photoshop. Although I have TIFF 6.0 specifications, PNG specifications, and other information in hand, it’s unclear how to enable color calibration data or implement a color management system in Linux. My files are often rejected as erroneous, without sufficient error reporting to correct.

This is a pretty nasty problem for many. Even my contacts at post-production studios in Hollywood are struggling with this problem. One studio even wanted to hire me to take care of the color calibration, thinking that I was an expert, but no, I'm as blind and lost as everyone!

Does anyone know good code examples, detailed technical information, or some other enlightenment? Or is it time to switch to pure Apple?

+4
source share
3 answers

Take a look at LittleCMS

http://www.littlecms.com/

There is code on this page to apply to TIFF

http://www.littlecms.com/newutils.htm

The main thing you need to know is that color profile data is what you need to store in the metadata of the file itself.

+2
source

There is a consultant Charles Poynton who specializes in this area. I work in one of the post-production studios that you mention (albeit in London, but not in Hollywood), and I saw how he spoke about this a couple of times. His site contains a lot of material that he presents, and you can find something useful there. He also has a book called Digital Video and HDTV Algorithms and Interfaces that are not as heavy as the name might seem! Although these resources may not answer your question directly, it may provide a spring board for other solutions.

More specifically, what libraries do you use to write png and tif files - do you mention that they are homegrown, but how common are they? Post-processing images in an image processing program (for example, ImageMagick or dcraw ), you can add this information to the header more successfully.

Sorry, I don't have specific answers, but maybe something will point you a little further in the right direction ...

+1
source

As a GNU / Linux user, you want to consider DispcalGUI - http://dispcalgui.hoech.net/ - based on the GNOME GUI, which centralizes color management, ICC profile management and (to a decisive extent for your case) device calibration. He can talk with well-known devices of an intermediate level and a middle level, for example, i1, X-Rite, Spyder, etc.

But before you do this, you say that you generate your files in the specification; Do you check your result with a set of tests specific to this format? If not, here are three to get you started:

But even banning all of this, it seems your problem is with ICC embedded data - these are two specifications in one. Firstly, this is the host image file format, and they all handle the attachment in different ways (this means that ICC data will probably look completely different if it is embedded in TIFF than, say, a JPEG or WebP file). Secondly, there is an ICC specification. This is described here: http://color.org/v4spec.xalter - and you can also see the source for the aforementioned dispcalGUI, which includes a very legible and hacked ICC Profile Class in Python: http://sourceforge.net/p/ dispcalgui / code / HEAD / tree / trunk / dispcalGUI / ICCProfile.py

Full disclosure: I contributed to the same ICC profile class that I just contacted in the last ΒΆ

These are the basics (many of which you undoubtedly covered) ... other than that, if you post additional information about what exactly is going wrong, Id would be interested to view it. Good luck with that.

* NB. This project is not associated with a multi-year photographic site, Light Landscape "

0
source

Source: https://habr.com/ru/post/1277281/


All Articles