Korekční matice kolorimetru pro monitory s velkým gamutem

Pro kalibraci (a charakterizaci) monitorů se používají dva typy zařízení: levnější kolorimetr či dražší spektrofotometr. Ten první snímá jas pouze u vybraných barev, zatímco druhý snímá celé viditelné spektrum.

Potíž s kolorimetry je, že správně interpretují barvy pouze u standardních monitorů zobrazujících v barvovém prostoru blízkém sRGB. V případě monitorů s podporou většího gamutu mohou (ale nemusí – záleží na výrobci) selhat.

Řešení je dvojího typu: kolorimetr pro konkrétní monitor může být hardwarově upraven (obvykle přidáním filtrů před senzor) nebo kalibrační software ví, jak „chybné“ měření vyhodnotit. Tyto korekční matice měření se liší pro různé typy kolorimetrů a monitorů a lze je zjistit pomocí měření spektrofotometrem.

Pokud se však k drahému spektrofotometru nedostanete, nezoufejte. Umí-li váš monitor emulovat nějaký standardní barvový prostor (sRGB) s dostatečnou přesností (viz testy TFTcentral.com), lze korekční matici spočíst i tak. Pomohou k tomu nástroje projektu Argyll CMS.

Nejprve vytvořte set vzorků pro měření:

$ targen -v -d3 -e0 -B0 -m3 -f0 reference

Zduplikujte vytvořený soubor:

$ cp reference.ti1 colorimeter.ti1

Vytvořte soubor ti3 s hodnotami měření neexistujícího spektrofotometru – pomocí programu fakeread a odkazu na barvový profil sRGB.icc (soubor profilu zkopírujte do aktuálního adresáře):

$ fakeread -v sRGB.icc reference

Nyní změřte hodnoty nekalibrovaného monitoru kolorimetrem – tj. postarejte se o to, aby byla odstraněna kalibrace z VCGT grafické karty a nastavte monitor do režimu emulace sRGB:

$ dispread -v -yl colorimeter

Výstupem předchozích dvou příkazů jsou textové soubory reference.ti3 a colorimeter.ti3 – obsahově jsou podobné, pouze v reference.ti3 cosi chybí. Zobrazte colorimeter.ti3 v textovém editoru a zkopírujte následující řádky do souboru reference.ti3 (na podobné řádky):

KEYWORD "TARGET_INSTRUMENT"
TARGET_INSTRUMENT "GretagMacbeth i1 Display 2"
KEYWORD "DISPLAY_TYPE_REFRESH"
DISPLAY_TYPE_REFRESH "NO"
KEYWORD "DISPLAY_TYPE_BASE_ID"
DISPLAY_TYPE_BASE_ID "1"
KEYWORD "INSTRUMENT_TYPE_SPECTRAL"
INSTRUMENT_TYPE_SPECTRAL "NO"
KEYWORD "LUMINANCE_XYZ_CDM2"
LUMINANCE_XYZ_CDM2 "73.620511 67.933022 107.231560"
KEYWORD "NORMALIZED_TO_Y_100"
NORMALIZED_TO_Y_100 "YES"

Něktré hodnoty v uvozovkách se budou pochopitelně lišit. Údaj LUMINANCE_XYZ_CDM2 slouží příkazu ccxxmake k úpravě XYZ hodnot s ohledem na jas monitoru (cd/m^2). Soubor reference.ti3 uložte a pokračujte vytvořením korekční matice pro kolorimeter:

$ ccxxmake -v -yl -f reference.ti3,colorimeter.ti3 -I "Samsung SyncMaster XL20" -T "LCD" colorimeter.ccmx

Nezapomeňte upravit text u parametru -I.

Soubor colorimeter.ccmx lze pak použít při kalibraci monitoru a vytváření profilu – programem dispcal nebo dispcalGUI. Pokud dispcalGUI odmítne soubor použít s odkazem na odlišný model kolorimetru, upravte příslušný hodnotu klíčů INSTRUMENT a REFERENCE v souboru colorimeter.ccmx dle možností uvedených na této stránce pod klíčem TARGET_INSTRUMENT.

Nakonec jednoduchý skript, který výše uvedené zautomatizuje:

#!/bin/bash

# Create 3^3 cube set:
targen -v -d3 -e0 -B0 -m3 -f0 reference

# Copy it for colorimeter set:
cp reference.ti1 colorimeter.ti1

# Create a fake reading of the reference set assuming the monitor is emulating
# sRGB precisly:
fakeread -v sRGB.icc reference

# Read actual values as seen by your colorimeter using the patch set:
echo "Set monitor into sRGB emulation mode and press any key to cont."
read v
dispwin -c
dispread -v -yl colorimeter

# Because fakeread does not store information about normalisation of XYZ,
# open colorimeter.ti3 and copy LUMINANCE_XYZ_CDM2 and NORMALIZED_TO_Y_100 "YES"
# lines to reference.ti3. (And some more keys as well.)

cat colorimeter.ti3 | grep -e "TARGET_INSTRUMENT"        \
                           -e "DISPLAY_TYPE_REFRESH"     \
                           -e "DISPLAY_TYPE_BASE_ID"     \
                           -e "INSTRUMENT_TYPE_SPECTRAL" \
                           -e "LUMINANCE_XYZ_CDM2"       \
                           -e "NORMALIZED_TO_Y_100"      \
                           > colorimeterinsert
sed -i "/^COLOR_REP/ r colorimeterinsert" reference.ti3

# Create a correction matrix - first is the reference.ti3 file, then the actual
# values of your colorimeter:
ccxxmake -v -yl -f reference.ti3,colorimeter.ti3 \
         -I "Samsung SyncMaster XL20" -T "LCD" colorimeter.ccmx

# And use the colorimeter.ccmx for further measurement with your colorimeter
# (usually dispcal -X colorimeter.ccmx).

exit 0

Ukázkový soubor reference.ti1:

CTI1   

DESCRIPTOR "Argyll Calibration Target chart information 1"
ORIGINATOR "Argyll targen"
CREATED "Wed Jul 30 22:23:00 2014"
KEYWORD "APPROX_WHITE_POINT"
APPROX_WHITE_POINT "95.106486 100.000000 108.844025"
KEYWORD "COLOR_REP"
COLOR_REP "RGB"
KEYWORD "MULTI_DIM_STEPS"
MULTI_DIM_STEPS "3"

NUMBER_OF_FIELDS 7
BEGIN_DATA_FORMAT
SAMPLE_ID RGB_R RGB_G RGB_B XYZ_X XYZ_Y XYZ_Z 
END_DATA_FORMAT

NUMBER_OF_SETS 27
BEGIN_DATA
1 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 
2 50.0000 0.00000 0.00000 9.73934 5.50603 1.40951 
3 100.000 0.00000 0.00000 41.8302 22.0522 2.91323 
4 100.000 50.0000 50.0000 53.2335 38.7362 25.5868 
5 50.0000 50.0000 0.00000 17.3175 20.6603 3.93559 
6 100.000 50.0000 0.00000 49.4083 37.2064 5.43931 
7 0.00000 50.0000 0.00000 8.57817 16.1542 3.52608 
8 50.0000 100.000 0.00000 45.1445 76.3065 13.2113 
9 100.000 100.000 0.00000 77.2354 92.8527 14.7151 
10 0.00000 0.00000 50.0000 4.82515 2.52982 21.1475 
11 50.0000 0.00000 50.0000 13.5645 7.03585 21.5570 
12 100.000 0.00000 50.0000 45.6553 23.5820 23.0607 
13 100.000 50.0000 100.000 67.2794 44.3537 99.5683 
14 50.0000 50.0000 50.0000 21.1427 22.1901 24.0831 
15 0.00000 100.000 0.00000 36.4052 71.8005 12.8018 
16 0.00000 100.000 50.0000 40.2304 73.3303 32.9493 
17 50.0000 100.000 50.0000 48.9697 77.8364 33.3588 
18 100.000 100.000 50.0000 81.0605 94.3825 34.8625 
19 0.00000 0.00000 100.000 18.8711 8.14731 95.1290 
20 50.0000 0.00000 100.000 27.6104 12.6533 95.5385 
21 100.000 0.00000 100.000 59.7013 29.1995 97.0422 
22 0.00000 50.0000 50.0000 12.4033 17.6840 23.6735 
23 0.00000 100.000 100.000 54.2763 78.9478 106.931 
24 0.00000 50.0000 100.000 26.4493 23.3015 97.6550 
25 50.0000 50.0000 100.000 35.1886 27.8076 98.0645 
26 50.0000 100.000 100.000 63.0157 83.4539 107.340 
27 100.000 100.000 100.000 95.1065 100.000 108.844 
END_DATA
CTI1   

DESCRIPTOR "Argyll Calibration Target chart information 1"
ORIGINATOR "Argyll targen"
KEYWORD "DENSITY_EXTREME_VALUES"
DENSITY_EXTREME_VALUES "8"
CREATED "July 30, 2014"

KEYWORD "INDEX"
NUMBER_OF_FIELDS 7
BEGIN_DATA_FORMAT
INDEX RGB_R RGB_G RGB_B XYZ_X XYZ_Y XYZ_Z 
END_DATA_FORMAT

NUMBER_OF_SETS 8
BEGIN_DATA
0 100.000 100.000 100.000 95.1065 100.000 108.844 
1 0.00000 47.3607 100.000 25.6130 21.6292 97.3763 
2 100.000 0.00000 79.3514 52.4258 26.2898 58.7215 
3 0.00000 0.00000 58.9971 6.48583 3.19399 29.8945 
4 100.000 66.6593 0.00000 56.0588 50.5054 7.65614 
5 0.00000 35.6011 0.00000 4.68562 8.37021 2.22855 
6 84.4444 0.00000 0.00000 28.8428 15.3558 2.30466 
7 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 
END_DATA
CTI1   

DESCRIPTOR "Argyll Calibration Target chart information 1"
ORIGINATOR "Argyll targen"
KEYWORD "DEVICE_COMBINATION_VALUES"
DEVICE_COMBINATION_VALUES "9"
CREATED "July 30, 2014"

KEYWORD "INDEX"
NUMBER_OF_FIELDS 7
BEGIN_DATA_FORMAT
INDEX RGB_R RGB_G RGB_B XYZ_X XYZ_Y XYZ_Z 
END_DATA_FORMAT

NUMBER_OF_SETS 9
BEGIN_DATA
0 100.000 100.000 100.000 95.1065 100.000 108.844 
1 0.00000 100.000 100.000 54.2763 78.9478 106.931 
2 100.000 0.00000 100.000 59.7013 29.1995 97.0422 
3 0.00000 0.00000 100.000 18.8711 8.14731 95.1290 
4 100.000 100.000 0.00000 77.2354 92.8527 14.7151 
5 0.00000 100.000 0.00000 36.4052 71.8005 12.8018 
6 100.000 0.00000 0.00000 41.8302 22.0522 2.91323 
7 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 
8 50.0000 50.0000 50.0000 21.1427 22.1901 24.0831 
END_DATA

Ukázkový soubor reference.ti3:

CTI3   

DESCRIPTOR "Argyll Calibration Target chart information 3"
ORIGINATOR "Argyll fakeread"
CREATED "Wed Jul 30 22:23:00 2014"
KEYWORD "DEVICE_CLASS"
DEVICE_CLASS "DISPLAY"
KEYWORD "MULTI_DIM_STEPS"
MULTI_DIM_STEPS "3"
KEYWORD "COLOR_REP"
COLOR_REP "RGB_XYZ"
KEYWORD "TARGET_INSTRUMENT"
TARGET_INSTRUMENT "GretagMacbeth i1 Display 2"
KEYWORD "DISPLAY_TYPE_REFRESH"
DISPLAY_TYPE_REFRESH "NO"
KEYWORD "DISPLAY_TYPE_BASE_ID"
DISPLAY_TYPE_BASE_ID "1"
KEYWORD "INSTRUMENT_TYPE_SPECTRAL"
INSTRUMENT_TYPE_SPECTRAL "NO"
KEYWORD "LUMINANCE_XYZ_CDM2"
LUMINANCE_XYZ_CDM2 "73.620511 67.933022 107.231560"
KEYWORD "NORMALIZED_TO_Y_100"
NORMALIZED_TO_Y_100 "YES"

NUMBER_OF_FIELDS 7
BEGIN_DATA_FORMAT
SAMPLE_ID RGB_R RGB_G RGB_B XYZ_X XYZ_Y XYZ_Z 
END_DATA_FORMAT

NUMBER_OF_SETS 27
BEGIN_DATA
1 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
2 50.0000 0.00000 0.00000 8.82177 4.54884 0.413326 
3 100.000 0.00000 0.00000 41.2144 21.2517 1.93101 
4 100.000 50.0000 50.0000 52.7302 38.1078 24.8111 
5 50.0000 50.0000 0.00000 16.4778 19.8609 2.96542 
6 100.000 50.0000 0.00000 48.8704 36.5637 4.48310 
7 0.00000 50.0000 0.00000 7.65601 15.3120 2.55209 
8 50.0000 100.000 0.00000 44.5898 76.0850 12.3364 
9 100.000 100.000 0.00000 76.9824 92.7878 13.8541 
10 0.00000 0.00000 50.0000 3.85983 1.54406 20.3280 
11 50.0000 0.00000 50.0000 12.6816 6.09290 20.7413 
12 100.000 0.00000 50.0000 45.0742 22.7958 22.2590 
13 100.000 50.0000 100.000 66.9031 43.7774 99.4533 
14 50.0000 50.0000 50.0000 20.3376 21.4049 23.2934 
15 0.00000 100.000 0.00000 35.7681 71.5361 11.9231 
16 0.00000 100.000 50.0000 39.6279 73.0802 32.2511 
17 50.0000 100.000 50.0000 48.4496 77.6290 32.6644 
18 100.000 100.000 50.0000 80.8423 94.3319 34.1821 
19 0.00000 0.00000 100.000 18.0327 7.21369 94.9702 
20 50.0000 0.00000 100.000 26.8545 11.7625 95.3836 
21 100.000 0.00000 100.000 59.2471 28.4654 96.9013 
22 0.00000 50.0000 50.0000 11.5158 16.8561 22.8801 
23 0.00000 100.000 100.000 53.8008 78.7498 106.893 
24 0.00000 50.0000 100.000 25.6887 22.5257 97.5223 
25 50.0000 50.0000 100.000 34.5105 27.0745 97.9357 
26 50.0000 100.000 100.000 62.6225 83.2987 107.307 
27 100.000 100.000 100.000 95.0151 100.002 108.824 
END_DATA

Ukázkový soubor colorimeter.ti3:

CTI3   

DESCRIPTOR "Argyll Calibration Target chart information 3"
ORIGINATOR "Argyll dispread"
CREATED "Wed Jul 30 21:40:47 2014"
KEYWORD "DEVICE_CLASS"
DEVICE_CLASS "DISPLAY"
KEYWORD "MULTI_DIM_STEPS"
MULTI_DIM_STEPS "3"
KEYWORD "COLOR_REP"
COLOR_REP "RGB_XYZ"
KEYWORD "TARGET_INSTRUMENT"
TARGET_INSTRUMENT "GretagMacbeth i1 Display 2"
KEYWORD "DISPLAY_TYPE_REFRESH"
DISPLAY_TYPE_REFRESH "NO"
KEYWORD "DISPLAY_TYPE_BASE_ID"
DISPLAY_TYPE_BASE_ID "1"
KEYWORD "INSTRUMENT_TYPE_SPECTRAL"
INSTRUMENT_TYPE_SPECTRAL "NO"
KEYWORD "LUMINANCE_XYZ_CDM2"
LUMINANCE_XYZ_CDM2 "73.620511 67.933022 107.231560"
KEYWORD "NORMALIZED_TO_Y_100"
NORMALIZED_TO_Y_100 "YES"

NUMBER_OF_FIELDS 7
BEGIN_DATA_FORMAT
SAMPLE_ID RGB_R RGB_G RGB_B XYZ_X XYZ_Y XYZ_Z 
END_DATA_FORMAT

NUMBER_OF_SETS 27
BEGIN_DATA
1 0.00000 0.00000 0.00000 0.446606 0.453601 0.819551 
2 50.0000 0.00000 0.00000 12.9558 5.36786 1.07807 
3 100.000 0.00000 0.00000 62.9270 25.0898 1.95797 
4 100.000 50.0000 50.0000 72.8818 41.3433 35.2102 
5 50.0000 50.0000 0.00000 17.0010 19.2852 3.04956 
6 100.000 50.0000 0.00000 66.9469 39.1183 3.94254 
7 0.00000 50.0000 0.00000 4.48228 13.8738 2.70219 
8 50.0000 100.000 0.00000 32.7023 70.4580 9.89160 
9 100.000 100.000 0.00000 82.4326 90.2886 10.7977 
10 0.00000 0.00000 50.0000 5.57031 2.31032 31.1239 
11 50.0000 0.00000 50.0000 18.4832 7.40270 31.1474 
12 100.000 0.00000 50.0000 68.4709 27.1388 32.0265 
13 100.000 50.0000 100.000 92.6476 48.9823 149.460 
14 50.0000 50.0000 50.0000 22.9453 21.3460 34.3307 
15 0.00000 100.000 0.00000 19.8549 64.5495 9.51659 
16 0.00000 100.000 50.0000 25.1952 66.6050 41.1188 
17 50.0000 100.000 50.0000 38.6424 72.5186 41.1446 
18 100.000 100.000 50.0000 88.6382 92.5189 42.4180 
19 0.00000 0.00000 100.000 25.0169 9.77581 145.767 
20 50.0000 0.00000 100.000 38.1348 14.9452 145.791 
21 100.000 0.00000 100.000 88.2440 34.6136 146.276 
22 0.00000 50.0000 50.0000 9.75950 15.9263 33.9123 
23 0.00000 100.000 100.000 44.8770 73.9189 156.156 
24 0.00000 50.0000 100.000 29.2831 23.2382 148.949 
25 50.0000 50.0000 100.000 42.5530 28.9854 148.974 
26 50.0000 100.000 100.000 58.1514 80.1614 156.576 
27 100.000 100.000 100.000 108.372 100.000 157.849 
END_DATA

Ukázkový soubor colorimeter.ccmx:

CCMX   

DESCRIPTOR "GretagMacbeth i1 Display 2 & LCD"
KEYWORD "INSTRUMENT"
INSTRUMENT "GretagMacbeth i1 Display 2"
KEYWORD "DISPLAY"
DISPLAY "Samsung SyncMaster XL20"
KEYWORD "TECHNOLOGY"
TECHNOLOGY "LCD"
KEYWORD "DISPLAY_TYPE_BASE_ID"
DISPLAY_TYPE_BASE_ID "1"
KEYWORD "DISPLAY_TYPE_REFRESH"
DISPLAY_TYPE_REFRESH "NO"
KEYWORD "REFERENCE"
REFERENCE "GretagMacbeth i1 Display 2"
ORIGINATOR "Argyll ccmx"
CREATED "Wed Jul 30 22:23:00 2014"
KEYWORD "COLOR_REP"
COLOR_REP "XYZ"

NUMBER_OF_FIELDS 3
BEGIN_DATA_FORMAT
XYZ_X XYZ_Y XYZ_Z 
END_DATA_FORMAT

NUMBER_OF_SETS 3
BEGIN_DATA
0.492966 0.402942 7.78691e-03 
-0.122044 1.14550 -9.28163e-03 
-0.0308979 0.0952581 0.647846 
END_DATA

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..