Вычисление из координат колорантов матрицы перехода XYZ->RGB и RGB->XYZ

теоретические и практические аспекты колориметрии, системы управления цветом
Ответить
Аватара пользователя
mihas
Администратор
Сообщения: 1455
Зарегистрирован: 18 авг 2004, 16:58
Откуда: Москва
Контактная информация:

Вычисление из координат колорантов матрицы перехода XYZ->RGB и RGB->XYZ

Сообщение mihas »

Я эти матрицы так или иначе уже сто раз налету просчитывал в более тяжелом софте, вынес конкретно только скрипт матрицы в отдельный файлик, себе же как помощь в разработке, и другим пригодится https://cielab.xyz/pdf/XYZtoRGB_Matrix.html
Не нашел у Линдблума для Display P3 матрицы, просчитал заранее, просто чтобы лишними расчетами не перегружать спектральный калькулятор при визуализации патчей в том или ином стандарте. Из трех колорантов и белой точки получаем матрицы XYZ->RGB и RGB->XYZ. Так чисто полезная утилита для разработчика ну и просто мало ли проверить. У того же Шадрина в книге про мониторы перепутаны местами матрицы направлений преобразований XYZ и RGB, они видимо сами с покойным моим учителем Андреем Френкелем не просчитывали, взяли что ни попадя в книгу для иллюстрации.
В утилите все просто: есть закомментированные колоранты sRGB чтобы сверить верность расчетов с табличными данными сайта Линдблума, сейчас активны колоранты стандарта Display P3 - это современный Apple и многие смартфоны. Меняем на какие угодно колоранты внутри скрипта - получаем нужные матрицы. По необходимости оформляем их как хотим, пример оформления там же приведен.
Для примера и просто чтобы было - матрицы для нескольких популярных стандартов RGB. Не забывайте учитывать белую точку, если вам нужно преобразование например из Lab D50 в Display P3 D65 - понадобится матрица хроматической адаптации от D50 к D65. Линдблум для примера привел Брэдфорда, но постить таблицы для всех хромадаптаций - это уж чересчур, это налету проще считать. Брэдфорд, фон Криз, Sharp, CMCCAT2000, CIECAT02 и самое клевое CIECAM02 (более сложный алгоритм расчетов, нежели матричные преобразования) - все это доступно к обсчету в спектральном калькуляторе. И просчитанные матрицы хромадаптации он обязательно выводит с давних пор (функция на отдельной кнопке, тут описание и скрин чего и как).
RGB Working SpaceReference WhiteRGB to XYZ [M]XYZ to RGB [M]⁻¹
Adobe RGB (1998)D65
0.57673088719814770.18555395071121410.1881851620906384
0.29737686371154490.62734907145220000.0752740648362554
0.02703426033741310.07068721931855780.9911085203440292
2.0413689792600791-0.5649463871751954-0.3446943843778483
-0.96926603050518611.87601084544669310.0415560175303498
0.0134473872161703-0.11838974235412551.0154095719504164
AppleRGBD65
0.44972883656103290.31624860938967140.1844925540492957
0.24465248708920190.67202829495305160.0833192179577465
0.02518481484741780.14118241490610330.9224627702464786
2.9515372909487461-1.2894115658994107-0.4738444780439960
-1.08510933822317711.99085660809036820.0372025611074408
0.0854933544891422-0.26949635273220951.0912975249496382
CIE RGBE
0.48871796548117160.31068034326701390.2006016912518145
0.17620443653402790.81298469387755090.0108108695884211
0.00000000000000000.01020482879344210.9897951712065579
2.3706743291021382-0.9000405327854051-0.4706337963167336
-0.51388496658194501.42530358655746990.0885813800244752
0.0052981750730304-0.01469493841010321.0093967633370728
ColorMatch RGBD50
0.50934385339738400.32090708849403870.1339690581085774
0.27488398437319140.65813148657252010.0669845290542887
0.02425446920939920.10878206389628440.6921734668943165
2.6422874096694384-1.2234270341709754-0.3930143017904421
-1.11197627713002632.05901827392019190.0159613819683736
0.0821698584675514-0.28072541552163411.4559876814266082
Display P3D65
0.48663265000000000.26566316250000000.1981741875000000
0.22900360000000000.69172672499999990.0792696750000000
-0.00000000000000000.04511261250000001.0437173875000001
2.4931807553289667-0.9312655254971397-0.4026597237588816
-0.82950311582107871.76269412111979220.0236250887417396
0.0358536257800717-0.07618895478265220.9570926215180212
NTSC RGBC
0.60689092123893780.17350112123893810.2003479575221239
0.29891642389380520.58659902895069550.1144845471554994
-0.00000000000000010.06609566523388121.1162243347661189
1.9099960989184541-0.5324541554529706-0.2882091300158282
-0.98466630500518471.9991709828893145-0.0283081999107939
0.0583056402155416-0.11837811801337220.8975534918028807
PAL/SECAM RGBD65
0.43061903350970040.34154191225749570.1783090542328042
0.22203793915343930.70663843915343940.0713236216931217
0.02018526719576720.12955038051146390.9390943522927689
3.0628971232226965-1.3931791364936781-0.4757516712579541
-0.96926603050518671.87601084544669390.0415560175303498
0.0678775099517517-0.22885477399033231.0693489682562851
ProPhoto RGBD50
0.79767494443060440.13519170147409810.0313533540952974
0.28804023786231020.71187409723579010.0000856649018997
0.00000000000000000.00000000000000000.8252100000000000
1.3459433009386654-0.2556075093167670-0.0511117658708850
-0.54459886945871701.50816731772076710.0205351415866469
0.00000000000000000.00000000000000001.2118127506937628
sRGBD65
0.41245643908969220.35757607764390900.1804374832663989
0.21267285140562250.71515215528781790.0721749933065596
0.01933389558232930.11919202588130300.9503040785363679
3.2404541621141045-1.5371385127977166-0.4985314095560160
-0.96926603050518681.87601084544669420.0415560175303498
0.0556434309591147-0.20402591351675381.0572251882231791
Не забывайте, что к посчитанным значениям RGB нужно применить степенную гамма-функцию соответствующего стандарта.
RGB standardGamma
Adobe RGB (1998)2.2
Apple RGB1.8
Best RGB2.2
Beta RGB2.2
Bruce RGB2.2
CIE RGB2.2
ColorMatch RGB1.8
Display P3≈2.2
Don RGB 42.2
ECI RGB v2L*
Ekta Space PS52.2
NTSC RGB2.2
PAL/SECAM RGB2.2
ProPhoto RGB1.8
SMPTE-C RGB2.2
sRGB≈2.2
Wide Gamut RGB2.2
Ответить

Вернуться в «Колориметрия - наука о цвете: теория и практика»