Некоторые ЛФчане замечены в рисовании чего-либо в графических редакторах. У меня вопрос к ним:
Вот, допустим, нарисовал я такую картинку:
(http://sites.google.com/site/formicant/img/good-bad.png)
Когда я на неё смотрю в нормальном масштабе, она выглядит на экране вот так:
(http://sites.google.com/site/formicant/img/good.png)
А когда начинаю менять масштаб, она превращается в:
(http://sites.google.com/site/formicant/img/bad.png)
Ну ладно, браузеру простительно, но программы работы с графикой же должны уметь правильно масштабировать изображения?
Вопрос:
Как настроить, например, «Гимп» или «Фотошоп», чтобы при работе с изображением (масштабировании, гауссовом размытии и т. п.) учитывалась гамма?
Способ «гамма-коррекция → масштабирование → гамма-коррекция назад» не предлагать! (очень муторно)
Как известно, глаз человека воспринимает яркость света нелинейно.
Числовые значения цветов на компьютере ориентированы более-менее на человеческое восприятие, т. е. равные числовые интервалы глаз воспринимает как примерно равные интервалы яркости:
(http://sites.google.com/site/formicant/img/scV.png)
Физически же у этих интервалов совсем не равная яркость. Интервалы равной физической яркости выглядят так:
(http://sites.google.com/site/formicant/img/scB.png)
(Между 0 и ⅛ разница гораздо заметнее, чем между ⅞ и 1)
Зависимость между числовым и физическим значением яркости задаётся какой-то функцией, которую обычно приближают степенной функцией
![y = x^\gamma [tex]y = x^\gamma[/tex]](https://latex.codecogs.com/png.latex?y = x^\gamma)
. Показатель степени
![\gamma [tex]\gamma[/tex]](https://latex.codecogs.com/png.latex?\gamma)
(«гамма») могут брать разный, но стандартно у мониторов он должен быть 2,2.
Если, например, картинка состоит из чёрных и белых пикселей в шахматном порядке, то чёрные и белые пиксели занимают на ней равные площади, и физическая яркость такой картинки должна быть 1/2 от яркости белого.
Если мы, к примеру, уменьшим эту картинку в два раза, то все пиксели станут серыми. Числовое значение это серого должно быть:
![R=G=B = 255 \times \left( \frac{1}{2} \right) ^ {\frac{1}{\gamma}} = 186 [tex]R=G=B = 255 \times \left( \frac{1}{2} \right) ^ {\frac{1}{\gamma}} = 186[/tex]](https://latex.codecogs.com/png.latex?R=G=B = 255 \times \left( \frac{1}{2} \right) ^ {\frac{1}{\gamma}} = 186)
.
Однако большинство программ тупо делают 128, и уменьшенная картинка получается гораздо темнее исходной.
________________________
Чтобы определить гамму своего монитора, можно посмотреть на эту картинку (http://sites.google.com/site/formicant/img/GammaTest.png) (в нормальном масштабе).
(нужно смотреть в монитор прямо, т. к. У ЖК-мониторов гамма плывёт, если смотреть под углом)
Подсказать не подскажу, но показать, что у меня, могу.
→
Прикольно 130%.png выглядит на 40%:
Всегда Bad. Выкидывайте свои ЖКшки.
Цитата: Alone Coder от октября 18, 2011, 11:54
Всегда Bad.
Если у вас в масштабе 100% на исходной картинке не видно надписи "Good", то у вас монитор неправильно настроен.
С чего бы? (Вообще-то видно.)
Какая у вас гамма?
У меня монитор старый, с электронно-лучевой трубкой. Опера старая, 9. Почему я во всех масштабах вижу обе надписи (меняется только фон)?
Цитата: Python от октября 18, 2011, 14:04
У меня монитор старый, с электронно-лучевой трубкой. Опера старая, 9. Почему я во всех масштабах вижу обе надписи (меняется только фон)?
Ну, при масштабе 50% "Good" таки должен слиться с фоном. А при 100% "Good" должно быть видно хорошо, а "Bad" — не очень.
А я смотрю в монитор немного непрямо, и потому актуальная гамма у меня разная. Голову подниму выше — одна, опущу — другая.
Чтобы учитывалась гамма, не знаю, как настроить.
Цитата: arseniiv от октября 18, 2011, 16:47
А я смотрю в монитор немного непрямо, и потому актуальная гамма у меня разная. Голову подниму выше — одна, опущу — другая. Чтобы учитывалась гамма, не знаю, как настроить.
Это нормально.
Цитата: arseniiv от октября 18, 2011, 16:47
Чтобы учитывалась гамма, не знаю, как настроить.
Эх...!
Цитата: Alone Coder от октября 18, 2011, 16:49
Как узнать?
Откройте эту картинку (http://sites.google.com/site/formicant/img/GammaTest.png) в натуральном масштабе. На каком прямоугольнике полос не видно, такая и гамма. (Для красного, зелёного и синего может быть своя гамма. В идеале они должны совпадать и равняться ≈2,2)
Цитата: Тайльнемер от октября 18, 2011, 16:48
Это нормально.
Знаю. Просто я всё время положение головы по вертикали меняю, не всегда удобно. Иногда при рисовании приходится держать её на определённой высоте, а то контраст пропадает. ;D
О, мне до 2,2 ехать и ехать. Немного увеличил гамму на мониторе (там всего три значения, было посередине) — как было около 1,0, так и осталось.
UPD: Ой дурак! Там картинка была не в своём масштабе. Гамма тогда изменяется почти по всей шкале, но для красного чуть больше, чем для зелёного, и для синего чуть меньше.
Цитата: Тайльнемер от октября 18, 2011, 16:53
Цитата: Alone Coder от октября 18, 2011, 16:49Как узнать?
Откройте эту картинку в натуральном масштабе. На каком прямоугольнике полос не видно, такая и гамма. (Для красного, зелёного и синего может быть своя гамма. В идеале они должны совпадать и равняться ≈2,2)
1,0
Арсениив, а вы при масштабировании корректируете гамму?
Никогда не пробовал. А как она может измениться при масштабировании-то?
Цитата: Alone Coder от октября 18, 2011, 16:56
1,0
Ух ты!
То есть, для вас вот эта шкала:
(http://sites.google.com/site/formicant/img/scB.png) — равномерная,
а эта:
(http://sites.google.com/site/formicant/img/scV.png) — неравномерная?
Такая настройка монитора, конечно, компенсирует сабжевую проблему, но ведь все фотографии, видео и т. п. рассчитаны под гамму. У вас средние тона будут слишком тёмными.
Цитата: arseniiv от октября 18, 2011, 16:59
А как она может измениться при масштабировании-то?
Никак.
Цитата: Тайльнемер от октября 18, 2011, 17:02
Никак.
А зачем её корректировать при масштабеировании? :??? Я сегодня не очень хорошо соображаю.
Цитата: arseniiv от октября 18, 2011, 17:03
А зачем её корректировать при масштабеировании?
Цитата: Тайльнемер от октября 18, 2011, 11:16
Если, например, картинка состоит из чёрных и белых пикселей в шахматном порядке, то чёрные и белые пиксели занимают на ней равные площади, и физическая яркость такой картинки должна быть 1/2 от яркости белого.
Если мы, к примеру, уменьшим эту картинку в два раза, то все пиксели станут серыми. Числовое значение это серого должно быть:
.
Однако большинство программ тупо делают 128, и уменьшенная картинка получается гораздо темнее исходной.
Цитата: Тайльнемер от октября 18, 2011, 17:02
То есть, для вас вот эта шкала:
— равномерная,
а эта:
— неравномерная?
Обе неравномерные.
Ой, а я не прочитал всё целиком. :-[ Обычно у меня при просмотре гамма где-то около 1,5, как я понял по калибровочной картине. Оно сильно не уходит от 1,0, и потому, видимо, не замечаю.
Цитата: Тайльнемер от октября 18, 2011, 16:43
Цитата: Python от октября 18, 2011, 14:04
У меня монитор старый, с электронно-лучевой трубкой. Опера старая, 9. Почему я во всех масштабах вижу обе надписи (меняется только фон)?
Ну, при масштабе 50% "Good" таки должен слиться с фоном. А при 100% "Good" должно быть видно хорошо, а "Bad" — не очень.
При 100% Good видно не очень (но с фоном не сливается), Bad — хорошо.
При 50% фон становится черным, буквы остаются зелеными.
ЧЯДНТ?
Цитата: Python от октября 18, 2011, 17:32
При 100% Good видно не очень (но с фоном не сливается), Bad — хорошо.
При 50% фон становится черным, буквы остаются зелеными.
ЧЯДНТ?
Хехе. У меня было такое, когда я задавал при уменьшении "nearest neighbour" вместо стандартного "bicubic".
Цитата: arseniiv от октября 18, 2011, 17:17
Обычно у меня при просмотре гамма где-то около 1,5
Ясно. Компромиссный вариант.