تاريخ جديد

هذا التطبيق البسيط يمنعك من رؤية كيف تستخدم هوليوود اللون لتناقش عواطفك

بواسطة Nailya Safarova8m2025/04/14
Read on Terminal Reader

طويل جدا؛ ليقرأ

تعلم كيف تعمل تقييم الألوان، ما هي أهداف الألوان، وبناء أداة تقييم الألوان الخاصة بك في React - من البداية والهدف.
featured image - هذا التطبيق البسيط يمنعك من رؤية كيف تستخدم هوليوود اللون لتناقش عواطفك
Nailya Safarova HackerNoon profile picture


لماذا يشعر Joker بأنه لا يهتم بالخضروات الخضراء؟

لماذا يشعر Joker بالخضرة الخضراء؟

لماذا يشعر Joker بالخضرة الخضراء والأزرق؟جوجل

لماذا كان Blade Runner يغرق في الشاي والبرتقالة؟

لماذا Blade Runner يغرق في الشاي والبرتقالة؟

لماذا Blade Runner غليظ في الشاي والبرتقالة؟Blade Runner

لماذا يجعل الفيلم يشعر بالراحة والطمأنينة؟

لماذا يجعلك تشعر بالراحة والطمأنينة؟

لماذا يجعل الفيلم يبدو رائعًا ومريعًا؟


ليس من السحر.

هذا ليس سحرًا، إنه لون.


ولكن من يسيطر على الألوان يسيطر على الوزن العاطفي للكاميرا.التصنيع على الألوان هو لغة التصوير في السينما - وسيلة لتشكيل الجوانب، وتسهيل الاهتمام للمرء، وتحديد صيغة قصة.ولكن يمكن أن يكون صعباً ومتناسقاً.ولكن يمكن أن يكون صعباً ومتناسقاً، كما هو الحال في أعمال وونغ كار-واي، فنشير، نولان، أو فيلينوف.ولكن لكي يتحدث هذا اللغز بسهولة، يجب أن تفهم اللغة الأولى.


من أين تبدأ عمل الألوان في الواقع؟ كيف نعرف ما هو الألوان "الحقيقية"؟ وكيف تحول الهدف الإبداعي إلى العمل التقني؟


Spoiler: لا تبدأ مع LUTs أو ملفات. تبدأ مع الأهداف اللون، والتقييم، والبلاطين المختارة بعناية.

تبدأ مع الأهداف الألوان، والتقييم، والخلايا المختارة بعناية


في هذه السلسلة، سنستعرض:

  • ما هي تقييم الألوان على المستوى الأكثر أساسية؛
  • لماذا الحد من طرازك هو ميزة وليس خطأ؛
  • كيف تعمل خرائط الألوان (وماذا يعني ذلك؟)
  • وكيفية بناء أداة التقييم الخاصة بك في المتصفح - مع React و بعض الرياضيات البسيطة.
  • ما هي التصنيفات الألوان على المستوى الأكثر أساسية؛
  • Why limiting your palette is a feature, not a bug؛
  • كيف تعمل خرائط الألوان (وماذا يهمها)
  • وكيفية بناء أداة التقييم الخاصة بك في المتصفح - مع React و بعض الرياضيات البسيطة.

  • نحن لن نكشف عن ذلك فقط. وسوف تكون قادرة على التجربة، وربما للمرة الأولى في الواقع نرى ما هي التصنيفات اللون التي تم إنشاؤها.

    نحن لا نستطيع فقط تفسيرها.نلاحظ

    ما هو تقييم الألوان، ولماذا تبدأ مع أهداف الألوان؟

    ما هو تقييم الألوان، ولماذا تبدأ مع أهداف الألوان؟

    تصنيف الألوان هو عملية تعديل وتصنيف صورة لتحقيق لون عجيب محدد، أو تأثير عاطفي، أو معايير تقنية، سواء في الأفلام أو الصورة أو الإنتاج الرقمي، تتضمن التصنيف عادة:


    • توازن الإضاءة واللون الأبيض؛
    • تصحيح التغيرات الفنية في الألوان؛
    • تصحيح نمطًا بصريًا مع التوازن والرموز والألوان.
  • توازن الوجه والطريق الأبيض؛
  • تصحيح تغيرات الألوان التقنية؛
  • كتابة نمطًا بصريًا مع التناقضات والألوان والألوان.

  • لكن التقييم ليس فقط عن "تجعلها جميلة"، بل هو عن السيطرة - على المزاج، والتركيز للمرء، واللغة المرئية لجميع القصة.

    X-Rite ColorChecker Classic

    X-Rite ColorChecker Classic


    قبل تطبيق أي نظرة إبداعية ، تحتاج إلى إرسال الصورة إلى حالة نائمة ، مما يعني:

    البلد المستقل


    • إصلاح الألوان غير المرغوب فيها (إصلاح الألوان);

    • إصلاح الصورة إلى مساحة الألوان القياسية (مثل Rec.709 أو sRGB);

    • إصلاح المواد من الكاميرات المختلفة إلى خط مبسط متوازن.


  • إصلاح الألوان غير المرغوب فيها (إصلاح الألوان);

  • إصلاح الألوان غير المرغوب فيها (إصلاح الألوان);

  • السيطرة على الصورة إلى مساحة الألوان القياسية (مثل Rec.709 أو sRGB);

  • السيطرة على الصورة إلى مساحة الألوان القياسية (مثل Rec.709 أو sRGB);

  • توافق المواد من الكاميرات المختلفة إلى خط مبسط متوازن.


  • توافق المواد من الكاميرات المختلفة إلى خطة أساسية متوازنة.


    And for that, colorists use color targets like the **ColorChecker, ChromaDuMonde,**or other reference charts.

    اللون الداخليColorCheckerChromaDuMonde

    A color target is a chart of color patches with precisely measured values. These values aren’t arbitrary — they’re obtained through spectrophotometric measurements in controlled environments using professional equipment like X-Rite or Konica Minolta spectrophotometers.

    القيمة المحددةKonica Minolta spectrophotometers.Konica Minolta spectrophotometers


    One of the first widely adopted targets was the Kodak Gray Scale — a strip of neutral gray tones used for exposure control. Later came more advanced charts with full-color patches — like the Macbeth ColorChecker, introduced in 1976 (now known as the X-Rite ColorChecker). It features 24 color swatches designed to represent common real-world colors: human skin, blue sky, green foliage, and more.

    Kodak Gray ScaleKodak Gray Scaleماتبيك ColorCheckerX-Rite ColorChecker


    بعد ظهور الصورة الرقمية والتلفزيون الرقمي، أصبحت الهدفات الألوان أكثر أهمية.هناك الآن أدوات حيوية لتقييم ليس فقط الكاميرات، ولكن أيضا الشاشات والرسائل والسيارات المحمولة والكل من الأجهزة التي تتعامل مع الألوان.


    The process of calibrating with color targets

    The process of calibrating with color targets


    أخذ ColorChecker من X-Rite ، على سبيل المثال ، يتم قياس كل ملف تحت الإضاءة القياسية (عادةً D65 أو D50) ، مع النتائج المكتوبة في تقييمات CIE XYZ ، وهو نموذج لون مستقل عن جهاز ، ثم يتم تحويل هذه المقياسات إلى تقييمات RGB ، اعتماداً على مساحة لون العمل الخاص بك (مثل sRGB ، Rec.709 ، أو AdobeRGB).

    D65D50استراتيجيات CIE XYZقيمة RGBsRGB Rec.709AdobeRGB


    وهذا يعني أن المجموعات RGB التي نستخدمها في تطبيقنا ليست فكرة، بل إنها تكوينات رقمية دقيقة من الملفات المعتمدة، التي يتم قياسها بشكل طبيعي.


    إذا تم تحديد ملصق الجلد في ColorChecker Classic على [194, 150, 130] في RGB ، فهذه هي الطريقة التي يجب أن تبدو عليها في الظروف المناسبة.

    إذا أظهرت الصورة شيء مختلف ، فهذا علامة على إزالة الألوان - وهي نقطة بداية للتصحيح.



    The Catch: Color Charts Are Just the Beginning

    The Catch: Color Charts Are Just the Beginning

    أهداف الألوان ضرورية للتقييم - ولكن هذا هو كل ما هو عليه. بدء. لا تتضمن:

    أول مرة.
    • كيف تتصرف الألوان في الخصائص أو الشواطئ؛
    • الخصائص الفريدة للفيلم أو الأطباق؛
    • أو الهدف الإبداعي خلف نظرة معينة.
  • كيف تتصرف الألوان في الخصائص أو الشواطئ؛
  • تخصيصات فريدة من نوعها من الفولاذ المقاوم للفيلم أو الألوان؛
  • أو الهدف الإبداعي خلف نظرة معينة.

  • In professional tools like DaVinci Resolve or Dehancer, color charts are just step one in a long pipeline. From there, you move into advanced processes like film emulation, tone mapping, grain, halation, bloom, and other stylistic transformations. So it’s critical to understand: a chart is a calibration tool — not a style.

    DaVinci ResolveDaVinci ResolveDehancerDehancerتصنيف هو أداة التقييم - وليس نمط.

    CinePalette: A Minimal Tool for Exploring Color Palettes

    CinePalette: أداة صغيرة لاستكشاف الألوانمن أجل إظهار كيفية تأثير اختيار صفحة على صورة، قمنا بتطوير CinePalette - تطبيق ويب بسيط يظهر ما يحدث عندما تقوم بتحديد مساحة الألوان (العمل المعروف باسم خفض صفحة).


    CinePaletteتخفيض الألوان


    ماذا يمكنك القيام به مع CinePalette:

    ماذا يمكنك القيام به مع CinePalette:
    • تسجيل أي صورة؛
    • تسجيل صفحة (ColorChecker، Portra، Sepia، وما إلى ذلك)؛
    • تسجيل كل مقطع إلى الألوان الأكثر قوة في هذا صفحة؛
    • تسجيل الوصفات قبل & بعد،
    • تسجيل النتيجة؛
    • أو بناء صفحة الخاصة بك من البداية.
  • عرض أي صورة؛
  • pick a palette (ColorChecker، Portra، Sepia، وما إلى ذلك)؛
  • Remap كل بيكسل إلى الألوان الأكثر قوة في هذا الملعب؛
  • compare before & after with an interactive slider؛
  • save النتيجة؛
  • أو بناء مركباتك الخاصة من البداية.

  • كيفية عمل التطبيق

    كيف يعمل في الكود

    Main Menu

    Main Menuيعمل التطبيق بالكامل في المتصفح باستخدام React و Canvas API.الردكاميرا Canvas APICinePalette


    نبدأ مع مجموعة من الخلايا المحددة، ولكن المستخدمين يمكنهم أيضا إنشاء وتخزين أنفسهم.خلايا المحددة هي مجموعة من القيم RGB - على سبيل المثال، هذه هي كيف تبدو الخلايا Kodak Portra 400:

    Kodak Portra 400
    "تصنيف 400": [ [ [75, 60, 50], // الضوء [160, 130, 110], // أساطير الجلد [220, 200, 180], // الضوء [60, 100, 80], // الضوء [180, 150, 100] // ناتج ], 
    "Portra 400": [ [75, 60, 50], // shadows [160, 130, 110], // skin tones [220, 200, 180], // highlights [60, 100, 80], // foliage [180, 150, 100] // neutral ],


    تحدد اللوحة المختارة ما هي الألوان التي "تسمح" بالظهور في الصورة النهائية.

    هذه أصبحت لغة المرور للكاميرا - الألوان الأساسية التي تحدد موهبتها وأسلوبها.



    عندما يقوم المستخدم بإرسال صورة واختيار صفحة، هذا ما يحدث تحت القفص:

    1. تصوير الصورة إلى <canvas> مخفية - هذا يوفر لنا الوصول على مستوى الجيل القادم للتلاعب بالبيانات.
    2. نختار موضوع ImageData، الذي يحتوي على مجموعة من الألوان التي تمثل كل الجيل القادم من قبل أربع قواعد: [R، G، B، A].
    3. نختار كل الجيل القادم من خلال كل الجيل القادم من الجيل القادم من الجيل القادم من الجيل القادم من الجيل القادم من الجيل القادم من الجيل القادم من الجيل القادم من الجيل القادم من الجيل القادم من الجيل القادم من الجيل القادم من الجيل القادم من الجيل القادم من الجيل القادم من الج
    4. تصوير الصورة إلى <canvas> مخفية - هذا يوفر لنا الوصول على مستوى الجيل القادم للتعامل مع البيانات.
    5. تصوير الصورة إلى مخفي <canvas>نحن نختار موضوع ImageData، الذي يحتوي على مجموعة حيث يتم تصنيف كل مقطوع من قبل أربع قيمة: [R، G، B، A]. نحن نختار مصطلح ImageData
    6. نحن نقوم من خلال كل بيكسل، استخراج لون RGB.
    7. We loop through every pixel
    8. لدى كل كيلومتر ، نجد الألوان المرتبطة الأكثر قوة من الخلايا المختارة ، باستخدام المسافة اليكليدية في مساحة RGB - وبدلاً من ذلك ، يتم استبدالها.
    9. لدى كل بيكسل ، نجد الألوان المرتبطة الأكثر قوة من الخلايا المختارة


      أرسل بطاقة شيرلي وحاول تطبيق بطاقات مختلفة - سوف ترى على الفور كيف يتم تشكيل الصورة من خلال اختيار بطاقة.

      We applied Teal & Orange, Sepia, and ColorChecker Classic palettes to a classic Shirley card

      We applied Teal & Orange, Sepia, and ColorChecker Classic palettes to a classic Shirley card


      أساس السحر يقع في ميزة تحليل لكل مقطع منفصل و العثور على الأصلي المرتبط باللون من الخلايا المختارة:

      كل كيلومتر واحدأكبر لون متوافق
      const findClosestColor = (r, g, b) => { let minDist = Infinity; let closest = [r, g, b]; for (let [pr, pg, pb]) { const dist = Math.sqrt((r - pr) ** 2 + (g - pg) ** 2 + (b - pb) ** 2); if (dist < minDist) { minDist = dist; closest = [pr, pg, pb]; } return closest; }; }const findClosestColor = (r, g, b) => {
        let minDist = Infinity;
        let closest = [r, g, b];
        for (let [pr, pg, pb] of palette) {
          const dist = Math.sqrt((r - pr) ** 2 + (g - pg) ** 2 + (b - pb) ** 2);
          if (dist < minDist) {
            minDist = dist;
            closest = [pr, pg, pb];
          }
        }
        return closest;
      };
      


      بعد ذلك ، نقوم بتبديل اللون الأصلي للكتروني في ImageData بالطريقة الأكثر تفاؤلاً من الخلايا.

      ونكرر هذا - لكل كتروني واحد.


      لكل كيلومتر واحد
      for (let i = 0; i < data.length; i += 4) { const [r, g, b] = [data[i + 1], data[i + 2]]; const [nr, ng, nb] = findClosestColor(r, g, b); data[i] = nr; data[i + 1] = ng; data[i + 2] = nb; } 
      for (let i = 0; i < data.length; i += 4) { const [r, g, b] = [data[i], data[i + 1], data[i + 2]]; const [nr, ng, nb] = findClosestColor(r, g, b); data[i] = nr; data[i + 1] = ng; data[i + 2] = nb; }


      بعد معالجة جميع المكسرات ، نقوم بإعادة إنتاج النتيجة إلى <canvas> و تحويلها إلى صورة باستخدام .toDataURL(). هذا يسمح للمستخدم بزيارة النتيجة على الفور في المتصفح
      - و تحميل الصورة المصفحة بسهولة واحدة.


      شاهد النتيجة على الفور في المتصفح


      ctx.putImageData(imageData, 0, 0); setFilteredImage(canvas.toDataURL()); 
      ctx.putImageData(imageData, 0, 0); setFilteredImage(canvas.toDataURL());


      هناك، نحن نستخدم الطول اليكليدي في مساحة RGB - طريقة الكلاسيكية لتقييم مدى "قرب" اثنين من الألوان:

      الطريق اليكليدي في الفضاء RGB
      تقسيم = Math.sqrt((r - pr) ** 2 + (g - pg) ** 2 + (b - pb) ** 2); 
      const dist = Math.sqrt((r - pr) ** 2 + (g - pg) ** 2 + (b - pb) ** 2);


      هنا، (r، g، b) هو لون الكتروني الحالي، و (pr، pg، pb) هو واحد من الألوان في الخلايا. من بين جميع المسافات التي يتم حسابها، نختار الأقصر - القوة أقرب تقييم في الخلايا المختارة.

      على أقرب نقطة مشاهدة


      هذا النهج سهل الاستخدام، ولكن لديه الحد الأدنى: المساحة RGB لا تتناول كيف تفكر البشر في اللون - على سبيل المثال، نحن أكثر حساسية إلى الأخضر من اللون الأزرق، ويمكن أن تكون الاختلافات في الضوء مشوهة.

      المساحة RGB لا تتحدث عن كيفية شعور البشر باللون

      B&W palette

      B&W paletteنحن نستخدم هذا النهج في CinePalette كوسيلة بسيطة وموضوعية لتثبيت المبادئ الأساسية لخرائط الألوان. ، ومع ذلك ، حتى في شكلها الحالي ، قد تلاحظ أن بعض الألوان يتم تغييرها بطرق تشير إلى غير متوقعة أو "الخلفية".


      CinePalette


      في الإصدارات المستقبلية، ونحن نتطلع إلى إضافة تحول بين RGB و CIELAB مساحة الألوان - مما يسمح للمستخدمين بمقارنة كيف تؤثر النماذج المختلفة على دقة التصنيف.

      RGB و CIELAB

      لماذا يحدث هذا؟

      لماذا يهم هذا؟

      CinePalette يوضح خطوة أساسية ولكن أساسية في تقييم الألوان: تقييم الألوان.تقييم الخلايا "ماذا لو استخدمنا فقط هذه الألوان؟"


      لعبة Portra تعطي ألوانًا دافئة وأحاسيسًا. Pro 400 يشعر بالراحة والترفيه. Teal & Orange تعطي ضربة فيلمية عالية النطاق. على عكس أدوات مثل Dehancer أو Resolve، CinePalette لا يثبت الفيزياء الفنية. ولكنها تكتشف الأهمية: color هو أداة لتصميم النسخة.

      اللون هو أداة لتصميم النماذج والمسلسل.


      Application interface

      Application interface

      ما هو التالي؟

      ما هو التالي؟

      هذه هي البداية فقط.في الأجزاء التالية من سلسلة:

      • نضيف CinePalette مع القدرة على اختيار صفحة من صورة التقويم؛
      • نضيف استخراجًا تلقائيًا من خرائط الألوان من أي نطاق أو صورة؛
      • نضيف التبديل بين RGB وLAB للحصول على توازن أكثر دقة من الواقع؛
      • نضيف كيف يعمل المرحلة الألوية - وكيف يمكنك استخدامها في التقييم في العالم الحقيقي.
    10. we will expand CinePalette with the ability to pick a pallet from a reference image;
    11. CinePalette
    12. add استخراج تلقائي من مجموعة الألوان من أي نطاق أو صورة؛
    13. إدخال تحويل بين RGB و LAB للحصول على تقييم أكثر دقة من نظري؛
    14. RGB و LAB
    15. وإزالة كيف يعمل العدالة اللون - وكيف يمكنك استخدامها في التصنيف في العالم الحقيقي.
    16. توازن الألوان


      بعد التكيف - وكن مستعدًا لنعلم فقط اللون ، ولكن حقًا see it.

      بعد التكيف - وكن مستعدًا ليس فقط لتعلم اللون ، ولكن حقًا see.see

    Trending Topics

    blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks