Мой первоначальный вопрос
Я читал, что для преобразования пикселя RGB в шкалу серого RGB следует использовать
r_new = g_new = b_new = r_old * 0.3 + g_old * 0.59 + b_old * 0.11
Я также читал , и поймите, что g
имеет более высокий вес, потому что человеческий глаз более чувствителен к зеленому. Реализовав это, я увидел, что результаты были такими же, как и при установке изображения в оттенки серого в редакторе изображений, таком как GIMP.
Прежде чем я это прочитал, я представил, что для преобразования пикселя в оттенки серого, можно преобразовать его в HSL или HSV, а затем установить насыщенность на ноль (следовательно, удалить весь цвет). Однако, когда я это сделал, у меня получилось совсем другое изображение, хотя в нем также не было цвета.
Чем s = 0
в точности отличается от «правильного» способа чтения, и почему это «неправильно»?
Текущие результаты, основанные на ответах и других исследованиях
Похоже, что какие коэффициенты яркости использовать, является предметом некоторых споров. Различные комбинации и алгоритмы перехода в оттенки серого дают разные результаты. Ниже приведены некоторые предустановки, используемые в таких областях, как телевизионные стандарты:
0,299r + 0,587g + 0,114b
0,2126r + 0,7152g + 0,0722b
(1/3) (rgb)
, эквивалентно s = 0
В этой научной статье подробно описаны различные методы градации серого и их результаты для различных изображений, а также субъективный обзор из 119 человек.
Однако при преобразовании изображения в оттенки серого для достижения «наилучшего» художественного эффекта почти наверняка не будут использоваться эти предопределенные коэффициенты, а будет изменяться вклад каждого канала для получения наилучшего результата для изображения. конкретное изображение.