Восприятие человека при смешивании цветов

Посмотрите на это изображение:

Желтые и синие пиксели чередуются

50% его пикселей синие (0, 0, 255), 50% его пикселей желтые (255, 255, 0).

Когда я смотрю на дисплей своего компьютера с такого расстояния, где я больше не могу различать отдельные пиксели, все изображение приобретает оттенок зеленого.

Однако, когда я использую компьютер для смешивания этих цветов (например, применяю размытие по Гауссу к изображению), в результате получается темно-серый цвет (128, 128, 128).

Предыдущее изображение размыто (теперь серое)

Мне это кажется очень неправильным. Смешение цветов, которое мы используем в наших компьютерах, полностью отличается от того, как наши глаза смешивают цвета.

Мой вопрос:

Есть ли цветовая модель, которая дала бы мне результаты, более похожие на то, как наши глаза смешивают цвета?

На моем экране изображение просто выглядит на 50% серым, пока я не увеличу масштаб настолько, что смогу четко видеть отдельные синие и желтые пиксели. Но 50% серого — это не то же самое, что (128 128 128) в sRGB; пожалуйста, имейте в виду en.wikipedia.org/wiki/Gamma_correction
И для разумного смешивания цветов на компьютере сначала преобразуйте sRGB в какое-то линейное цветовое пространство, смешайте там, а затем снова преобразуйте в sRGB. Грубо говоря, в линейном цветовом пространстве, если вы удвоите значения RGB, вы удвоите количество света, излучаемого вашим монитором. Цветовое пространство, которое мы обычно используем в компьютерных изображениях, — это sRGB, и оно не имеет этого удобного свойства, в основном по историческим причинам (нелинейный отклик старых ЭЛТ-экранов).
@JukkaSuomela: Интересное наблюдение. Поскольку и желтый, и синий имеют только максимальные основные цвета, их гамма-коррекция ничего не изменит. Для других цветов гамма-коррекция, конечно, будет иметь значение. Если я сделаю полученный серый (128, 128, 128) нелинейным (для sRGB), я получу (188, 188, 188), применив функцию гамма-компандинга sRGB. Вы имели в виду 50% серого? Какое линейное цветовое пространство вы бы использовали?
Увеличение и уменьшение масштаба дискретными шагами полностью изменило внешний вид при различных коэффициентах масштабирования. Мой мозг или видеокарта испытывали большие иллюзии. || Связанный: если вы возьмете цветовую диаграмму CIE1931, вы можете ОЧЕНЬ ПРИБЛИЗИТЕЛЬНО нарисовать линию между двумя цветами на диаграмме и установить положение вдоль линии на основе инверсий их амплитуд и получить что-то вроде цвета, который вы бы видели. Таким образом, вы можете, например, суммировать желтый люминофор + синий светодиод и получить некоторое представление о цвете и о том, как он будет меняться при изменении компонентов. ...
@tomp: 188 близко. На моем мониторе сплошной прямоугольник цвета (186 186 186) выглядит очень близко к тому, что я вижу в вашем примере (если я положу их рядом друг с другом, между ними будет нелегко увидеть какой-либо шов). И если я использую масштабирование с учетом гаммы в программном обеспечении для редактирования фотографий, чтобы уменьшить масштаб вашего примера на 50%, я получаю сплошной прямоугольник цвета (186 186 186). — Я также попробовал ваш пример на низкокачественном экране ноутбука и получил какой-то странный зеленоватый оттенок серого. Хороший признак того, что экран ноутбука неправильно откалиброван.
@JukkaSuomela: Отличная информация, спасибо. Экран моего старого ноутбука действительно плохой, так что это не удивительно. Какое программное обеспечение вы использовали для масштабирования с учетом гамма-излучения?
Еще одна вещь, просто для записи вопроса. Я получаю (186, 186, 186), используя компандирование гаммы с гаммой 2.2 и цветом (188, 188, 188) при использовании правильного (неупрощенного) преобразования sRGB. Для получения дополнительной информации см.: brucelindbloom.com/index.html?Eqn_XYZ_to_RGB.html (я имею в виду примечание по реализации номер 5)

Ответы (1)

То, что вы видите на своем экране, немного отличается от того, что я вижу на своем экране. Если я сяду достаточно далеко от экрана (Apple CinemaDisplay 30 дюймов, откалиброван в sRGB, гамма 2.2), то первый образец будет выглядеть ровным серым. Это более светлый серый, чем второй образец, который определенно воспринимается как темнее, но он все еще серый, а не зеленый.Светло-серый больше около 192 192 192, чем 128 128 128.

Во-первых, вполне вероятно, что калибровка цвета вашего экрана отключена, если вы видите зеленый, а не серый, сидя на расстоянии. Человеческий глаз должен в конечном итоге размыть и иным образом усреднить синие и желтые пиксели до серых, потому что на самом деле это красные, зеленые и синие субпиксели, излучающие свет, и в соотношении, в котором они излучают этот свет, все три компонента субпикселя должны излучать примерно одинаково. количество.

Причина, по которой мы воспринимаем их по-разному, сводится к частоте дискретизации и природе человеческого глаза. Сине-желтый клетчатый образец скудно заполнен необходимыми цветовыми подкомпонентами... расстояние позволяет более ярким и ярким желтым пикселям подавлять менее мощные синие пиксели (общее значение 510 против 255). Хотя здесь играет роль и другое. Человеческий глаз воспринимает цвет по двум осям... оси синего/желтого и оси зеленого/пурпурного:

введите описание изображения здесь

Если бы каждый из ваших пикселей на изображении шахматной доски излучал все три цвета (R, G и B), то мы фактически получили бы плотный результат яркости и увидели бы правильные 128 128 128 оттенков серого. Это именно то, что делает ваш второй образец цвета. Однако из-за редкого интервала между субпикселями мы получаем что-то большее в соответствии с линиями R + GB и просто B (или, точнее, с точки зрения реакции глаз, -B). На приведенном выше изображении отсутствовала стадия R+BG.

Есть еще один побочный эффект нашей осевой стадии видения-противника, который приводит к понятию «невозможных цветов» , неспособности ощущать одни и те же отчетливые цвета в одном и том же физическом месте в одно и то же время. Мы можем видеть либо синий, либо желтый, но не оба одновременно в одном и том же месте. Вот небольшой тест:

введите описание изображения здесь

Позвольте своим глазам пересекаться достаточно, чтобы синий и желтый образцы точно накладывались друг на друга, и сфокусируйтесь на кресте в центре. Вы заметите, что не видите зеленый... ваши глаза в конечном итоге будут колебаться между синим и желтым, иногда быстрее, иногда медленнее, поскольку ваши глаза реагируют на входные стимулы, с которыми они не могут справиться. Это связано с фактической кривой отклика наших глаз:

введите описание изображения здесь

Наши глаза на самом деле не могут воспроизвести зеленый цвет из пространственно перекрывающихся, но в остальном различных образцов желтого и синего (это невозможно с биологической точки зрения). Синий и желтый могут создавать зеленый цвет при смешивании, и наши глаза могут видеть этот зеленый цвет, однако это происходит потому, что на самом деле мы воспринимаем свет в более зеленой части спектра видимого света... желтая и синяя краски, смешанные вместе, дают другой цвет света. будучи отраженным, это не то же самое, что происходит с тестом «невозможные цвета» выше. Пространственно наши глаза усредняют разреженный цвет в какой-то форме отклика яркости. Однако, поскольку фактический свет, достигающий наших глаз, полностью попадает на стадию обработки оппонента R + GB (у вас есть либо R + G, либо -B, но не оба), на самом деле мы все еще воспринимали РАЗДЕЛЬНУЮ информацию о цвете., отчетливый желтый и отчетливый синий, вместо той же плотности информации о цвете, которая существует во втором образце. Это позволяет решить проблему борьбы с цветом, которая возникает в цветовом тесте выше... мы не можем на самом деле смешивать синий и желтый (которые, когда мы удаляемся достаточно далеко от экрана, фактически пространственно находятся в одних и тех же местах) в зеленый или серый. Отсюда причина, по которой мы видим более светлый 192 192 192 серый, а не более темный 128 128 128 серый.


Теперь, когда природа цветового отклика в человеческом глазу устранена, перейдем к вопросу о цветовых моделях.

Существует множество цветовых моделей. Существуют цветовые модели, которые моделируют цвет для самых разных целей, которые подходят для широкого спектра использования цвета. Существуют ваши аддитивные модели (т.е. RGB), субтрактивные модели (т.е. CMY), ваши радиальные/математические модели (т.е. HSV, HSB, HSL) и ваши модели восприятия (т.е. L a b*).

У нас есть множество цветовых моделей, потому что каждая из них позволяет нам РАБОТАТЬ С цветом способами, подходящими для разных задач. Когда строили компьютерные экраны сенсоров камеры, проще работать с моделью RGB. При анализе цвета чисто математическим способом легче работать с математическими, радиальными или трехмерными моделями. Когда дело доходит до моделирования цвета таким образом, который имитирует человеческое восприятие, модели восприятия работают лучше всего. Некоторые из этих моделей являются линейными, некоторые являются (или могут быть) нелинейными. Нелинейные модели полезны, поскольку они позволяют нам сопоставить математику с кривой отклика любого оборудования или концептуального процесса, с которым мы работали (например, экраны компьютеров имеют гамма-кривую).

Для точного моделирования цвета с точки зрения восприятия вам, в конечном счете, потребуется преобразовать ваш цвет в пространство L a b* (сокращенно Lab). Лабораторное пространство основано на работе с цветовой моделью CIE, которая была проведена в 30-х и 60-х годах. CIE LAB — это модель, которая описывает видимую цветовую гамму и смоделирована таким образом, чтобы преобразования и сравнения цветов были точны для восприятия (в определенных разумных пределах... и существует несколько цветовых моделей CIE, каждая из которых работает немного по-своему. Обычно CIE1931 является наиболее часто используемой моделью .)

Можно преобразовать цвет из RGB в Lab. Существует множество различных подходов, и я не буду вдаваться в них здесь. Однако, несмотря на то, что CIELab моделирует гамму человеческого зрения, это не обязательно приведет к тому же результату, что и человеческое зрение, если вы выполните что-то вроде размытия по Гауссу или базового процесса медианного усреднения в пространстве Lab. Лаборатория ДЕЙСТВИТЕЛЬНО работает с двухосевой моделью (синий/желтый и зеленый/пурпурный), однако процесс оппонента — это то, что вам, вероятно, потребуется встроить в любой алгоритм усреднения, чтобы получить тот же результат, что и человеческий глаз.

Очень хороший ответ, спасибо. Алгоритма усреднения для масштабирования при использовании цветового пространства LAB недостаточно, как вы сказали. Результирующий цвет из желтого и синего sRGB немного голубовато-серый. У меня вопрос: проводились ли какие-то исследования в этой области или это все еще неисследованная область?
Есть исследования в этой области, с точки зрения восприятия цвета человеком. Это вся работа CIE. Десятилетия исследований, математическое моделирование и уточнение моделей входят в число работ CIE, которые довольно подробно охватывают зрительное восприятие человека. Существует также довольно обширное исследование восприятия цвета человеком другими органами, от медицинских учреждений до университетов. С точки зрения сопоставления визуального восприятия человека с компьютерными цветовыми моделями была проделана некоторая работа (т. е. преобразование RGB-> XYZ-> Lab), но я сам как бы соединил эти части воедино.
Я имею в виду больше исследования в области моделей смешивания цветов в цветовых пространствах CIE, а не только их индивидуальное представление в цветовых пространствах. Я знаю о работе CIE в области цветовых пространств, преобразований, хроматической адаптации, формул цветоразличия и т. д.
@tomp: я уверен, что были проведены некоторые исследования. Я знаю, что такие инструменты, как Photoshop, а также более специализированные инструменты, такие как PixInsight (инструмент для редактирования астрофотографии), позволяют выполнять значительное количество их алгоритмов в пространстве Lab. Кто-то, должно быть, исследовал, как и почему, чтобы сделать это возможным.
Это очень хорошая идея. Я знаю лабораторное пространство в Photoshop. В настоящее время он у меня не установлен, но было бы интересно провести некоторые эксперименты. Я предполагаю, что режим наложения Normal будет делать простое среднее значение, чтобы быть последовательным. Но есть много других режимов наложения, которые могут дать интересные результаты. Пока что из того, что я читал, наиболее точным является смешивание RGB с настроенной гаммой, как предложил Юкка Суомела в комментариях к моему вопросу. Похоже, что эта опция доступна и в Photoshop через какую-то скрытую дополнительную настройку.
Да, вы можете выполнять смешивание с поправкой на гамму, однако я не уверен, что оно действительно учитывает различия в том, как человеческое зрение «усредняет» или «интерполирует» информацию. Алгоритмы с поправкой на гамму просто нацелены на работу в рамках спецификаций устройства, но они по-прежнему остаются теми же фундаментальными алгоритмами.
ответ очень сложный, поучительный, но ... большая его часть не имеет отношения к вопросу. в компьютерных экранах вообще нет желтого цвета и здесь нет ни «невозможного цвета», ни «противоположного процесса», потому что на расстоянии мы не можем видеть отдельные пиксели. желто-синий рисунок создается субпикселями R, G и B, идентичными (на расстоянии) субпикселям RGB простого белого или серого прямоугольника. любой, кто видит зеленый или любой другой оттенок, просто использует сломанный экран или программное обеспечение.