User Tools

Site Tools


doc:appunti:software:colorchecker_clones

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:software:colorchecker_clones [2020/01/11 23:00] niccolodoc:appunti:software:colorchecker_clones [2020/01/27 12:20] (current) – [Solid Pigments vs Offset Printing and Dithering] niccolo
Line 1: Line 1:
-====== The ColorChecker and its Clones ======+====== The Grey White Balance Colour Card: an X-Rite clone ======
  
-{{.:color_management:colorchecker_gretag-macbeth.jpg?360 |https://commons.wikimedia.org/wiki/File:Gretag-Macbeth_ColorChecker.jpg}}+**GWBCC** is a series of products manufactured by an **[[https://www.greywhitebalancecolourcard.co.uk/|UK company]]**; they are **[[wp>ColorChecker|color checkers]]** to be used in photographic color calibration. They have a certain notoriety for the fact that they cost half or a quarter of other much more famous products. In March 2019 I purchased for about 22 € the **2in1** model, a 140x88 mm plastic card which has the **24 color swatches** on one side and a **three grays** target on the other. 
 + 
 +Here I share my experience using that card to do **color calibration** of **photographies** and images acquired using a **scanner**. The workflow is entirely based on free and open source software: **Debian GNU/Linux** operating system, **The GIMP** as image processing software and **Darktable** for color calibration. 
 + 
 +The final word is: despite **the product lacks a real color calibration**, some results can be obtained at the cost of **a lot of preparatory work**, but without any claim of objective precision. 
 + 
 +===== The ColorChecker and its Clones ===== 
 + 
 +[{{.:color_management:colorchecker_gretag-macbeth.jpg?360 |The original Gretag Macbeth ColorChecker. Photo from [[https://commons.wikimedia.org/wiki/File:Gretag-Macbeth_ColorChecker.jpg|wikimedia.org]]}}]
 The **[[wp>ColorChecker]]** is a registered trademark of a [[wp>Color chart|color chart]] introduced in 1976 and manufactured by **Macbeth**, now **X-Rite**; it features **24 squared patches** of various colors. The colors were choosen quite arbitrarly: six **shades of gray**, some **primary colors**  (red, green, blue, cyan, magenta, and yellow) and other colors of natural objects, like skin tones, foliage, etc. The **[[wp>ColorChecker]]** is a registered trademark of a [[wp>Color chart|color chart]] introduced in 1976 and manufactured by **Macbeth**, now **X-Rite**; it features **24 squared patches** of various colors. The colors were choosen quite arbitrarly: six **shades of gray**, some **primary colors**  (red, green, blue, cyan, magenta, and yellow) and other colors of natural objects, like skin tones, foliage, etc.
  
 There are several manufacturers that sell **similar (cloned) color charts**; they are **more or less compatible** with the X-Rite original, where compatibility is measured on the precision obtainable using the same software procedures calibrated on the X-Rite product. The price and quality vary widely; durability of the materials, uniformity and consistency of the colors and printing method are the distinctive features. There are several manufacturers that sell **similar (cloned) color charts**; they are **more or less compatible** with the X-Rite original, where compatibility is measured on the precision obtainable using the same software procedures calibrated on the X-Rite product. The price and quality vary widely; durability of the materials, uniformity and consistency of the colors and printing method are the distinctive features.
  
-===== The Grey White Balance Colour Cards =====+===== Solid Pigments vs Offset Printing and Dithering =====
  
-The most inexpensive color charts are obtained by **[[wp>Offset printing|offset printing]]**, the color patches are not made from solid color pigments, but obtained using **dithering** and **halftoning** of the primary printing colors. The following close-up are taken from the **The 2 in 1** checker, manufactured by **[[https://www.greywhitebalancecolourcard.co.uk/|Grey White Balance Colour Cards]]**; you can see how the patches are obtained with dithering, in particular the second photo shows the **grey patches** on the left: they are made by a **white background with black dots** over it:+The most inexpensive color charts are obtained by **[[wp>Offset printing|offset printing]]**, the color patches are not made from solid color pigments, but obtained using **[[wp>Dither|dithering]]** and **[[wp>Halftone|halftoning]]** of the primary printing colors. The following close-up are taken from the **The 2 in 1** checker, manufactured by **[[https://www.greywhitebalancecolourcard.co.uk/|Grey White Balance Colour Cards]]**; you can see how the patches are obtained with dithering, in particular the second photo shows the **grey patches** on the left: they are made by a **white background with black dots** over it:
  
-{{.:color_management:colorchart-dithering-1.jpg?380|color chart produced with offset printing}} +[{{.:color_management:colorchart-dithering-1.jpg?380|The GWBCC color chartproduced with offset printing}}] 
-{{.:color_management:colorchart-dithering-2.jpg?380|color chart produced with offset printing}}+[{{.:color_management:colorchart-dithering-2.jpg?380|The GWBCC color chart; on the left the grey patches}}]
  
 ====== Color calibration using Darktable ====== ====== Color calibration using Darktable ======
Line 39: Line 47:
 Now import the source image into **Darktable** using **import** from the left menu. View the image into the **darkroom mode** and verify its **history** (left menu): it should be only **0 - original**. If you applied some modules on the image, remove them by selecting //0 - original// and clicking **compress history stack**: every module above the one selected will be removed. Now import the source image into **Darktable** using **import** from the left menu. View the image into the **darkroom mode** and verify its **history** (left menu): it should be only **0 - original**. If you applied some modules on the image, remove them by selecting //0 - original// and clicking **compress history stack**: every module above the one selected will be removed.
  
-To be on the safe side you should define the **input color profile**. Still in darkroom mode, on the right menu, expand the //input color profile// section (you will wish to click the //show only active modules// button to find it easly). Select the most appropriate profile: for a regular JPEG image it should be **sRGB**, in my case - an image acquired with **scanimage** from a CanoScan 9000F scanner - it was **linear Rec2020 RGB**. Leave //gamut clipping// to off. Once selected, verify the history where two items should exist: **0 - original** and **1 - input color profile**.+To be on the safe side you should define the **input color profile**. Still in darkroom mode, on the right menu, expand the //input color profile// section (you will wish to click the //show only active modules// button to find it easly). Select the most appropriate profile: for a regular JPEG image it should be **sRGB**, in my case - an image acquired with **scanimage** from a CanoScan 9000F scanner - it was **linear Rec2020 RGB**. Leave the //gamut clipping// to off. Once selected, verify the history where only two items should exist: **0 - original** and **1 - input color profile**.
  
-Return to the **lighttable mode** and choose **export selected** from the right menu, choose **PFM (float)** format and **Lab** profile. The exported file will be saved into a **darktable_exported** subdirectory.+{{.:color_management:darktable-histogram-colorin-bad.png?220|Darktable histogram: wrong input color profile}} 
 +{{.:color_management:darktable-histogram-colorin-good.png?220|Darktable histogram: correct input color profile}} 
 + 
 +In the figures above you can see how the histogram looks like when choosing the wrong or the right color profile. An photo with **shadows and highlights equally distributed**, should present an **equally distributed histogram**, from left to right. 
 + 
 +Return to the **lighttable mode** and choose **export selected** from the right menu, choose **PFM (float)** format and **Lab** profile. The exported file will be saved into a **darktable_exported** subdirectory. It is not required to add the //output color profile// module to the image history, just export with the options stated above.
  
 ===== Create a CHT file for the GWBCC Colour Card ===== ===== Create a CHT file for the GWBCC Colour Card =====
Line 150: Line 163:
 {{.:color_management:gwbcc-support-lab-values.png?360|L*a*b* color values provided by GWBCC Support}} {{.:color_management:gwbcc-support-lab-values.png?360|L*a*b* color values provided by GWBCC Support}}
  
-**Color values provided by GreyWhiteBalanceColourCard: just useless crap!**+**Figures above: color values provided by GreyWhiteBalanceColourCard: just useless crap!**
  
 As you can verify, the color values in **tables are quite inconsistent each other** (I used the Color Picker into the GIMP software to compare RGB and L*a*b* values), where the most prominent problem is the bottom-right **black** patch, which is **a 21% gray in RGB table**, but it is 0% (i.e. **pure black**) in the L*a*b* one. In the actual printed color checker that I have purchased, the D6 patch is (**very roughly and empirically**) something like a 17% gray. The D1 **white patch** is declared to be a **100% white**, which is rather an oddity in color checkers, because to be so, it should reflect 100% of the illuminant. Just for reference, the X-Rite ColorChecker has the white patch at 95%, my empiric measure on the actual GWBCC chart is a white at **about 91%**. As you can verify, the color values in **tables are quite inconsistent each other** (I used the Color Picker into the GIMP software to compare RGB and L*a*b* values), where the most prominent problem is the bottom-right **black** patch, which is **a 21% gray in RGB table**, but it is 0% (i.e. **pure black**) in the L*a*b* one. In the actual printed color checker that I have purchased, the D6 patch is (**very roughly and empirically**) something like a 17% gray. The D1 **white patch** is declared to be a **100% white**, which is rather an oddity in color checkers, because to be so, it should reflect 100% of the illuminant. Just for reference, the X-Rite ColorChecker has the white patch at 95%, my empiric measure on the actual GWBCC chart is a white at **about 91%**.
Line 208: Line 221:
   - Return into **lighttable mode**, into the **styles** section **create a new style** which will contain the history of the selected image. This is the only one that you will apply to all the other images.   - Return into **lighttable mode**, into the **styles** section **create a new style** which will contain the history of the selected image. This is the only one that you will apply to all the other images.
  
 +The style created by ''darktable-chart'' is actually an **XML file**. You can open it with a text editor to remove the unwanted modules (the disabled //basecurve// and the bad //colorin//). Unfortunately it is not easy to manually change the colorin module, because data into the XML file is gzipped and base64 encoded:
 +
 +<code xml>
 +  <plugin>
 +    <num>1</num>
 +    <module>4</module>
 +    <operation>colorin</operation>
 +    <op_params>gz09eJzjZqAfYIHSAAWQABA=</op_params>
 +    <enabled>1</enabled>
 +    <blendop_params>gz12eJxjYGBgkGAAgRNODESDBnsIHll8ANNSGQM=</blendop_params>
 +    <blendop_version>7</blendop_version>
 +    <multi_priority>0</multi_priority>
 +    <multi_name></multi_name>
 +  </plugin>
 +</code>
 ===== An Example Image ===== ===== An Example Image =====
  
 Here it is an example of what I obtained with the above workflow. The first image is what actually was acquired from the scanner. No particular color space was associated to the image, so if we open the image **assuming the sRGB** color space we get a very dark image (the **histogram** is unbalanced toward the dark tones): Here it is an example of what I obtained with the above workflow. The first image is what actually was acquired from the scanner. No particular color space was associated to the image, so if we open the image **assuming the sRGB** color space we get a very dark image (the **histogram** is unbalanced toward the dark tones):
  
-{{.:color_management:moto-morini-raw.jpg?400|Raw image from the scannerno specific color space declared, so sRGB was assumed}}+{{.:color_management:moto-morini-raw.jpg?400|Raw image from the scanner}} 
 + 
 +**Raw image from the scanner. If no specific color space is declared, sRGB is assumed (but it is wrong).**
  
 Applying the **linear Rec2020 RGB** color space (just declaring it, without actually changing the pixel data), we get a better image; even the histogram is more balanced between dark and light tones: Applying the **linear Rec2020 RGB** color space (just declaring it, without actually changing the pixel data), we get a better image; even the histogram is more balanced between dark and light tones:
  
-{{.:color_management:moto-morini-colorin.jpg?400|}}+{{.:color_management:moto-morini-colorin.jpg?400|Linear Rec2020 RGB color space applied}} 
 + 
 +**Using Darktable, the Linear Rec2020 RGB color space is applied.**
  
 The final image is just the //raw// one with the **style applied**. A quite good result considering that no manual adjustment was made! The final image is just the //raw// one with the **style applied**. A quite good result considering that no manual adjustment was made!
  
-{{.:color_management:moto-morini-dtstyle.jpg?400|}}+{{.:color_management:moto-morini-dtstyle.jpg?400|Image after applying the Darktable style}}
  
 +**The image after applying the Darktable style.**
 ====== Creating a picture of a color chart ====== ====== Creating a picture of a color chart ======
  
doc/appunti/software/colorchecker_clones.1578780008.txt.gz · Last modified: 2020/01/11 23:00 by niccolo