Мой оригинальный вопрос
Я читал, что для преобразования пикселя 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
точно отличается от «правильного» способа чтения и почему это «неверно»'?
Текущие результаты, основанные на ответах и других исследованиях
Похоже, что используемые коэффициенты яркости являются предметом некоторых дискуссий.Различные комбинации и алгоритмы с оттенками серого имеют разные результаты.Ниже приведены некоторые предварительные установки, используемые в таких областях, как телевизионные стандарты:
- коэффициенты, определенные в МСЭ-R BT.601 (NTSC?), Равны
0.299r + 0.587g + 0.114b
- коэффициенты, определенные МСЭ-R BT.709 (новее) равны
0.2126r + 0.7152g + 0.0722b
- коэффициентам равных третей,
(1/3)(rgb)
, эквивалентным s = 0
Это научная статья подробно описывает различные методы оттенков серого и их результаты для различных изображений, а также субъективный опрос 119 человек.
Однако при преобразовании изображения в оттенки серого для достижения «наилучшего» художественного эффекта почти наверняка не будетиспользуя эти предварительно определенные коэффициенты, но настраивая вклад каждого канала, чтобы получить наилучший выход для конкретного изображения.