Преобразовать изображение в оттенки серого - PullRequest
2 голосов
/ 15 апреля 2011

Как преобразовать изображение в оттенки серого? У меня есть следующая цитата из Википедии:

Чтобы преобразовать любой цвет в оттенки серого представление его яркости, сначала нужно получить значения его красного, зеленый и синий (RGB) праймериз в линейное кодирование интенсивности по гамме расширение. Затем сложите 30% красное значение, 59% от зеленого значения, и 11% от синего значения

Правильно ли я понимаю эту цитату? Я бы сделал что-то вроде этого:

For each pixel P
    For each color c in P
        P.c = round(
            (max(min((P.red^gamma), 255), 0) * 0.3) + 
            (max(min((P.blue^gamma), 255), 0) * 0.59) +
            (max(min((P.green^gamma), 255), 0) * 0.11))

Это правильно? Какой должна быть гамма?

Ответы [ 2 ]

0 голосов
/ 15 апреля 2011

Да, это правильно. Я буду использовать Гамму 2.2. В зависимости от того, что вы намереваетесь использовать после этого в градациях серого, гамма 1.0 также может быть более быстрой и полезной.

0 голосов
/ 15 апреля 2011

Я всегда использовал gamma = 1.0 (другими словами, игнорируется).

Подробнее о коррекции гаммы можно узнать здесь: http://en.wikipedia.org/wiki/Gamma_correction

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...