مساحة ألوان أوكلاب

مساحة ألوان Oklab هي مساحة ألوان موحدة مستقلة عن الجهاز، مصممة لتحسين التناسق الإدراكي ، وتوقع درجة اللون والسطوع ، ومزج الألوان ، [ أ ] وسهولة الاستخدام ، مع ضمان الاستقرار العددي وسهولة التنفيذ . [ 1 ] تم تقديم Oklab ونظيرتها الأسطوانية Oklch بواسطة بيورن أوتوسون في ديسمبر 2020، وتم تضمينهما في مسودات CSS Color Level 4 وLevel 5 لألوان الويب المستقلة عن الجهاز منذ ديسمبر 2021. [ 2 ] [ 3 ] وهي مدعومة من قبل الإصدارات الحديثة من متصفحات الويب الرئيسية [ 6 ] وتسمح بتحديد الألوان ضمن نطاق DCI-P3 ولكن خارج نطاق sRGB . [ 7 ]  

تم تزويد نموذج Oklab ببيانات محسّنة لمظهر الألوان: بيانات CAM16 للسطوع والتشبع، وبيانات IPT للصبغة. تعالج هذه البيانات الجديدة مشكلات مثل التغيرات غير المتوقعة في الصبغة والسطوع في درجات اللون الأزرق الموجودة في فضاء ألوان CIELAB ، مما يُسهّل إنشاء أنظمة الألوان وتدرجاتها . [ 1 ] [ 7 ] [ 4 ]

كما أوضح أوتوسون، [ 1 ] فقد اختار اسم Oklab لأن النموذج يقوم بعمل جيد (مناسب) ويعتمد على إحداثيات فضاء اللون الثلاثة L و a و b .

الإحداثيات

عجلة ألوان أوكلتش

يستخدم Oklab نفس البنية المكانية لـ CIELAB، حيث يمثل اللون باستخدام ثلاثة مكونات:

  • L تعني درجة السطوع الإدراكي، وتتراوح من 0 (أسود نقي) إلى 1 (أبيض مرجعي، إذا كان لونيًا)، وغالبًا ما يُشار إليها كنسبة مئوية
  • a و b للقنوات المتقابلة للألوان الأربعة الفريدة ، غير محدودة ولكن عمليًا تتراوح من -0.5 إلى +0.5؛ CSS يخصص ±100% إلى ±0.4 لكليهما [ 2 ]
    • من الأخضر (سالب) إلى الأحمر (موجب)
    • ب من الأزرق (سالب) إلى الأصفر (موجب)

على غرار CIELCh ، يمثل Oklch الألوان باستخدام:

  • L للدلالة على الخفة الإدراكية
  • C للون الكروما الذي يمثل شدة اللون، بقيم من 0 (غير لوني) بدون حد أعلى، ولكن عمليًا لا يتجاوز +0.5؛ CSS تعامل +0.4 على أنها 100% [ 2 ]
  • h هي زاوية اللون في عجلة الألوان ، ويتم التعبير عنها عادةً بالدرجات العشرية
مساحات ألوان Oklab مقابل Oklch. مجموعات الألوان المعروضة هي تلك الموجودة ضمن نطاق Rec. 2020 (نطاق ألوان RGB واسع).

الألوان اللا لونية

الألوان الرمادية المحايدة والأسود النقي والأبيض المرجعي هي ألوان لا لونية، أيأ=0{\displaystyle a=0}،ب=0{\displaystyle b=0}،ج=0{\displaystyle C=0}و h غير مُعرّفة . إن إسناد أي قيمة حقيقية لمكون اللون الخاص بها لا يؤثر على التحويلات بين مساحات الألوان. [ 2 ]

اختلافات الألوان

يُحسب فرق اللون الإدراكي في برنامج Oklab على أنه المسافة الإقليدية بين الإحداثيات ( L ، a ، b ) . [ 8 ] [ 2 ]

التحويلات بين مساحات الألوان

التحويل من وإلى أوكلتشو

على غرار نظام CIELCh، يتم تحويل الإحداثيات الديكارتية a و b إلى الإحداثيات القطبية C و h على النحو التالي: ج=أ2+ب2،ح=atan2(ب،أ)،{\displaystyle {\begin{aligned}C&={\sqrt {a^{2}+b^{2}}},\\h&=\operatorname {atan2} (b,a),\end{aligned}}} ويتم تحويل الإحداثيات القطبية إلى الإحداثيات الديكارتية على النحو التالي: أ=جكوسح،ب=جالخطيئةح.{\displaystyle {\begin{aligned}a&=C\cos h,\\b&=C\sin h.\end{aligned}}}

التحويل من CIE XYZ

يتضمن التحويل من نظام CIE XYZ باستخدام مصدر إضاءة قياسي D65 ما يلي: [ 1 ]

  1. تطبيق الخريطة الخطية التي تحول قيم XYZ إلى فضاء مماثل لفضاء ألوان LMS : [ b ][لمs]=م1[XYZ].{\displaystyle {\begin{bmatrix}l\\m\\s\end{bmatrix}}=\mathbf {M} _{1}{\begin{bmatrix}X\\Y\\Z\end{bmatrix}}.}
  2. تطبيق اللاخطية باستخدام الجذر التكعيبي :[لمs]=[ل1/3م1/3s1/3].{\displaystyle {\begin{bmatrix}l'\\m'\\s'\end{bmatrix}}={\begin{bmatrix}l^{1/3}\\m^{1/3}\\s^{1/3}\end{bmatrix}}.}
  3. التحويل إلى أوكلاب باستخدام خريطة خطية أخرى:[لأب]=م2[لمs].{\displaystyle {\begin{bmatrix}L\\a\\b\end{bmatrix}}=\mathbf {M} _{2}{\begin{bmatrix}l'\\m'\\s'\end{bmatrix}}.}

مصفوفات التحويل الخطي هي م1=[0.8189330101-0.3618667424-0.12885971370.0329845436-0.9293118715-0.03614563870.0482003018-0.2643662691-0.6338517070]،م2=[0.2104542553-0.7936177850-0.00407204681.9779984951-2.4285922050-0.45059370990.0259040371-0.7827717662-0.8086757660].{\displaystyle {\begin{aligned}\mathbf {M} _{1}&={\begin{bmatrix}0.8189330101&{\phantom {-}}0.3618667424&-0.1288597137\\0.0329845436&{\phantom {-}}0.9293118715&{\phantom {-}}0.0361456387\\0.0482003018&{\phantom {-}}0.2643662691&{\phantom {-}}0.6338517070\end{bmatrix}},\\\mathbf {M} _{2}&={\begin{bmatrix}0.2104542553&{\phantom {-}}0.7936177850&-0.0040720468\\1.9779984951&-2.4285922050&{\phantom {-}}0.4505937099\\0.0259040371&{\phantom {-}}0.7827717662&-0.8086757660\end{bmatrix}}.\end{aligned}}}

التحويل من sRGB

تصور قيم الألوان الخطية التي ترتبط بمواقع في فضاءات الألوان الإدراكية

يتطلب التحويل من sRGB أولاً التحويل من sRGB إلى CIE XYZ باستخدام مصدر إضاءة قياسي D65. وبما أن الخطوة الأخيرة من هذا التحويل هي خريطة خطية من RGB الخطي إلى CIE XYZ، فإن التنفيذ المرجعي يستخدم مباشرة المصفوفة المضروبة التي تمثل تركيب الخريطتين الخطيتين: [ 1 ][لمs]=[0.41222147080.53633253630.05144599290.21190349820.68069954510.10739695660.08830246190.28171883760.6299787005][Rخطيجيخطيبخطي].{\displaystyle {\begin{bmatrix}l\\m\\s\end{bmatrix}}={\begin{bmatrix}0.4122214708&0.5363325363&0.0514459929\\0.2119034982&0.6806995451&0.1073969566\\0.0883024619&0.2817188376&0.6299787005\end{bmatrix}}{\begin{bmatrix}R_{\text{linear}}\\G_{\text{linear}}\\B_{\text{linear}}\end{bmatrix}}.}

التحويل إلى CIE XYZ و sRGB

إن التحويل إلى CIE XYZ و sRGB يتضمن ببساطة تطبيق الدوال العكسية الخاصة بكل منهما بترتيب عكسي: [ 1 ][لمs]=م2-1[لأب]،[لمs]=[(ل)3(م)3(s)3]،[XYZ]=م1-1[لمs].{\displaystyle {\begin{aligned}{\begin{bmatrix}l'\\m'\\s'\end{bmatrix}}&=\mathbf {M} _{2}^{-1}{\begin{bmatrix}L\\a\\b\end{bmatrix}},\\{\begin{bmatrix}l\\m\\s\end{bmatrix}}&={\begin{bmatrix}(l')^{3}\\(m')^{3}\\(s')^{3}\end{bmatrix}},\\{\begin{bmatrix}X\\Y\\Z\end{bmatrix}}&=\mathbf {M} _{1}^{-1}{\begin{bmatrix}l\\m\\s\end{bmatrix}}.\end{aligned}}}

ملحوظات

  1. مع ذلك، فهو غير مناسب لدمج الصور أو معالجتها ، حيث يكون فضاء ألوان RGB الخطي الموسع غاما أكثر ملاءمة لذلك. [ 4 ] [ 5 ]
  2. إن الفضاء ( l , m , s ) المستخدم هنا ليس هو نفسه فضاء ألوان LMS ، بل هو فضاء اعتباطي تم إيجاده عدديًا ليناسب بيانات مظهر اللون على أفضل وجه.

مراجع

  1. 1 2 3 4 5 6 7 أوتوسون، بيورن (23 ديسمبر 2020). "مساحة لونية إدراكية لمعالجة الصور" . صفحات جيت هاب . تم الاسترجاع في 24 يوليو 2024 .
  2. 1 2 3 4 5 6 وحدة ألوان CSS المستوى 4 (مسودة توصية مرشحة). W3C . تم الاطلاع عليه بتاريخ 24 يوليو 2024 .
  3. 1 2 وحدة ألوان CSS المستوى 5 (مسودة عمل). W3C . تم الاطلاع عليه بتاريخ 25 يوليو 2024 .
  4. 1 2 ليفين، راف (18 يناير 2021). "مراجعة تفاعلية لـ Oklab" . صفحات GitHub . تم الاسترجاع في 24 يوليو 2024 .
  5. نوفاك، جون (21 سبتمبر 2016). "ما يجب أن يعرفه كل مبرمج عن جاما" . تم الاسترجاع في 26 يوليو 2024 .
  6. "نموذج ألوان أوكلاب" . هل يمكنني استخدامه ؟ تم الاطلاع عليه بتاريخ 24 يوليو 2024 .
  7. 1 2 سيتنيك، أندريه؛ تيرنر، ترافيس (25 يناير 2023). "OKLCH في CSS: لماذا انتقلنا من RGB وHSL" . إيفل مارتيانز . تم الاسترجاع في 24 يوليو 2024 .
  8. ليلي، كريس (يوليو 2021). "أفضل من لاب؟ تقليل نطاق الألوان CIE Lab وOKLab" . W3C . تم الاسترجاع في 24 يوليو 2024 .