Я эти матрицы так или иначе уже сто раз налету
просчитывал в более тяжелом софте, вынес конкретно только скрипт матрицы в отдельный файлик, себе же как помощь в разработке, и другим пригодится
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 Space | Reference White | RGB to XYZ [M] | XYZ to RGB [M]⁻¹ |
Adobe RGB (1998) | D65 | 0.5767308871981477 | 0.1855539507112141 | 0.1881851620906384 | 0.2973768637115449 | 0.6273490714522000 | 0.0752740648362554 | 0.0270342603374131 | 0.0706872193185578 | 0.9911085203440292 |
| 2.0413689792600791 | -0.5649463871751954 | -0.3446943843778483 | -0.9692660305051861 | 1.8760108454466931 | 0.0415560175303498 | 0.0134473872161703 | -0.1183897423541255 | 1.0154095719504164 |
|
AppleRGB | D65 | 0.4497288365610329 | 0.3162486093896714 | 0.1844925540492957 | 0.2446524870892019 | 0.6720282949530516 | 0.0833192179577465 | 0.0251848148474178 | 0.1411824149061033 | 0.9224627702464786 |
| 2.9515372909487461 | -1.2894115658994107 | -0.4738444780439960 | -1.0851093382231771 | 1.9908566080903682 | 0.0372025611074408 | 0.0854933544891422 | -0.2694963527322095 | 1.0912975249496382 |
|
CIE RGB | E | 0.4887179654811716 | 0.3106803432670139 | 0.2006016912518145 | 0.1762044365340279 | 0.8129846938775509 | 0.0108108695884211 | 0.0000000000000000 | 0.0102048287934421 | 0.9897951712065579 |
| 2.3706743291021382 | -0.9000405327854051 | -0.4706337963167336 | -0.5138849665819450 | 1.4253035865574699 | 0.0885813800244752 | 0.0052981750730304 | -0.0146949384101032 | 1.0093967633370728 |
|
ColorMatch RGB | D50 | 0.5093438533973840 | 0.3209070884940387 | 0.1339690581085774 | 0.2748839843731914 | 0.6581314865725201 | 0.0669845290542887 | 0.0242544692093992 | 0.1087820638962844 | 0.6921734668943165 |
| 2.6422874096694384 | -1.2234270341709754 | -0.3930143017904421 | -1.1119762771300263 | 2.0590182739201919 | 0.0159613819683736 | 0.0821698584675514 | -0.2807254155216341 | 1.4559876814266082 |
|
Display P3 | D65 | 0.4866326500000000 | 0.2656631625000000 | 0.1981741875000000 | 0.2290036000000000 | 0.6917267249999999 | 0.0792696750000000 | -0.0000000000000000 | 0.0451126125000000 | 1.0437173875000001 |
| 2.4931807553289667 | -0.9312655254971397 | -0.4026597237588816 | -0.8295031158210787 | 1.7626941211197922 | 0.0236250887417396 | 0.0358536257800717 | -0.0761889547826522 | 0.9570926215180212 |
|
NTSC RGB | C | 0.6068909212389378 | 0.1735011212389381 | 0.2003479575221239 | 0.2989164238938052 | 0.5865990289506955 | 0.1144845471554994 | -0.0000000000000001 | 0.0660956652338812 | 1.1162243347661189 |
| 1.9099960989184541 | -0.5324541554529706 | -0.2882091300158282 | -0.9846663050051847 | 1.9991709828893145 | -0.0283081999107939 | 0.0583056402155416 | -0.1183781180133722 | 0.8975534918028807 |
|
PAL/SECAM RGB | D65 | 0.4306190335097004 | 0.3415419122574957 | 0.1783090542328042 | 0.2220379391534393 | 0.7066384391534394 | 0.0713236216931217 | 0.0201852671957672 | 0.1295503805114639 | 0.9390943522927689 |
| 3.0628971232226965 | -1.3931791364936781 | -0.4757516712579541 | -0.9692660305051867 | 1.8760108454466939 | 0.0415560175303498 | 0.0678775099517517 | -0.2288547739903323 | 1.0693489682562851 |
|
ProPhoto RGB | D50 | 0.7976749444306044 | 0.1351917014740981 | 0.0313533540952974 | 0.2880402378623102 | 0.7118740972357901 | 0.0000856649018997 | 0.0000000000000000 | 0.0000000000000000 | 0.8252100000000000 |
| 1.3459433009386654 | -0.2556075093167670 | -0.0511117658708850 | -0.5445988694587170 | 1.5081673177207671 | 0.0205351415866469 | 0.0000000000000000 | 0.0000000000000000 | 1.2118127506937628 |
|
sRGB | D65 | 0.4124564390896922 | 0.3575760776439090 | 0.1804374832663989 | 0.2126728514056225 | 0.7151521552878179 | 0.0721749933065596 | 0.0193338955823293 | 0.1191920258813030 | 0.9503040785363679 |
| 3.2404541621141045 | -1.5371385127977166 | -0.4985314095560160 | -0.9692660305051868 | 1.8760108454466942 | 0.0415560175303498 | 0.0556434309591147 | -0.2040259135167538 | 1.0572251882231791 |
|
Не забывайте, что к посчитанным значениям RGB нужно применить степенную гамма-функцию соответствующего стандарта.
RGB standard | Gamma |
Adobe RGB (1998) | 2.2 |
Apple RGB | 1.8 |
Best RGB | 2.2 |
Beta RGB | 2.2 |
Bruce RGB | 2.2 |
CIE RGB | 2.2 |
ColorMatch RGB | 1.8 |
Display P3 | ≈2.2 |
Don RGB 4 | 2.2 |
ECI RGB v2 | L* |
Ekta Space PS5 | 2.2 |
NTSC RGB | 2.2 |
PAL/SECAM RGB | 2.2 |
ProPhoto RGB | 1.8 |
SMPTE-C RGB | 2.2 |
sRGB | ≈2.2 |
Wide Gamut RGB | 2.2 |