2008-08-18 8 views
18

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

+0

Я думаю, вы имеете в виду оттенки серого. Монохромный означает, что изображение находится в одном цветовом оттенке и по-прежнему остается ярким. – golopot 2017-06-17 02:04:55

ответ

18

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

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

This MSDN article использует (0.299 * color.R + 0.587 * color.G + 0.114 * color.B);

This Wikipedia article использует (0.3* color.R + 0.59 * color.G + 0.11 * color.B);

+1

Я думаю, что они оба неправильны для этого приложения, поскольку они применяются к значениям RGB с коррекцией гамма-коррекции. – 2011-11-22 23:22:35

5

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

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

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

5

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

3

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

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

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

Смежные вопросы