RGB для монохромного преобразования

Как преобразовать значения RGB пикселя в одно монохромное значение?

Ответ 1

Я нашел одно возможное решение в Color FAQ. Компонент яркости Y (от системы CIE XYZ) фиксирует то, что наиболее воспринято человеком как цвет в одном канале. Итак, используйте эти коэффициенты:

mono = (0.2125 * color.r) + (0.7154 * color.g) + (0.0721 * color.b);

Ответ 3

Это зависит от ваших побуждений. Если вы просто хотите превратить произвольное изображение в оттенки серого и выглядеть хорошо, конверсии в других ответах на этот вопрос будут делать.

Если вы конвертируете цветные фотографии в черно-белые, процесс может быть как очень сложным, так и субъективным, требуя специальной настройки для каждого изображения. Для идеи, которая может быть задействована, взгляните на этот учебник из Adobe for Photoshop.

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

Ответ 4

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

Ответ 5

Как уже упоминалось, трансляция оттенков серого (обратите внимание, что монохроматические изображения не должны быть в оттенках серого) из RGB-триплета подвержена вкусу.

Например, вы можете обмануть, извлечь только синий компонент, просто выбросив красные и зеленые компоненты и скопировав синее значение вместо них. Другим простым и общепринятым решением было бы взять среднее значение пикселя RGB-триплета и использовать его во всех трех компонентах.

Тот факт, что существует значительный рынок для профессиональных и не очень дешевых дешёвых конвертеров для монохромного конвертирования только для Photoshop, говорит о том, что преобразование столь же просто или сложно, как вы пожелаете.