[argyllcms] Re: Profiling between two images

  • From: Klaus Karcher <lists@xxxxxxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Fri, 30 Jan 2009 15:35:16 +0100

Pascal de Bruijn wrote:
I'd like to generate a profile, which would turn my nr 2 image into
something very close to my nr 1 image.

Alastair M. Robinson wrote:
The easiest way is probably going to be to create an input profile for each
image, using the IT8 chart contained within (as per Argyll's instructions
for scanner profiling), and then transform between them - or create a
devicelink from them.

Or were you hoping to accomplish this using a single non-devicelink profile?

Pascal de Bruijn wrote:
I was hoping that indeed...

You always need one device link profile or two device profiles to transform an image from one device space to another.

(I don't want to get lost in details of abstract profiles. You could use them to apply image corrections without changing the device space. Abstract profiles are intended to change the look, not the colorspace of an image, but I assume that's not what you had in mind.)

A device link profile can transform directly from RGB 1 to RGB 2, while the transformation chain with device profiles looks like:

RGB 1 --[Profile 1]--> PCS --[Profile 2]--> RGB 2

Even though the image will actually never be transformed to the PCS (Profile connection space), the CMS needs the PCS to "translate" between the device spaces.

In argyll you need device profiles for RGB 1 and RGB 2 in either case. You can use them directly to transform TIFF images using cctiff or you can link them to a device link profile beforehand using collink. Device link profiles offer advantages in terms of gamut mapping and precision.

A descriptive analogy might be translations between different languages: when you what translate e.g. from Spanish to Russian, you need either a Spanish-Russian dictionary (= device link profile) or two dictionary with a common "connection" language, e.g. Spanish-English and English-Russian.

It's evident that the Spanish-Russian dictionary will give you better (less ambiguous, more precise) translations, but less flexibility than separate dictionaries with a common connection language (=device profiles): Your Spanish-Russian dictionary is useless for translating Spanish to Italian, but the Spanish-English dictionary can still be combined with a English-Italian dictionary to translate Spanish to Italian.

See <http://argyllcms.com/doc/Scenarios.html#PS1> for creating input device (i.e. scanner or camera) profiles, <http://argyllcms.com/doc/Scenarios.html#LP1> for creating device links and <http://argyllcms.com/doc/Scenarios.html#TR1> for using cctiff.

A devicelink profile seems a rather crappy way of accomplishing this... but at
this point, I'm happy with anything that just works...

Are there any caveats in creating a device link profile?

As Gerhard mentioned, the profile will only work as intended if the camera generates the images in a _deterministic_ way.

Moreover, not every image processing software can handle device link profiles (e.g. Photoshop does not support device link profiles up to CS3 and device link support in CS4 is half-baked and very limited).

When everything works as expected, your image 1 looks the same as image 2 when you assign profile 1 to image 1 and profile 2 to image 2 (even though the RGB values of the images are different). When you transform image 1 from device space 1 to device space 2, it will still look the same (when you assing profile 2 to the result), but the RGB values of the transformed image 1 are now the same as the RGB values of image 2. Is this what you had in mind?


Other related posts: