Если мы возьмем, например, все черные пиксели фотографии со значениями 0 уровней и присвоим им значения, скажем, 30 уровней (а остальные уровни пересчитаем пропорционально), то мы снизим общий контраст картинки. Это произойдет за счет того, что черная точка станет более светлой. В этом случае мы пересчитаем исходный диапазон светлот 0–255 уровней в новый диапазон 30–255 уровней, уменьшив разницу между самой светлой и самой темной точками. Кривая, которая приводит к такому результату, а также сам результат приведены на илл. А.6.
Илл. А.6
Можно сделать наоборот: всем пикселям со значениями 30 уровней присвоить (а заодно и всем пикселям со значениями меньше 30) новое значение 0 уровней. Кривая, которая приводит к такому результату, а также сам результат приведены на илл. А.7.
Илл. А.7
Остальные уровни пересчитаются пропорционально. С помощью такой кривой мы пересчитали диапазон 30–255 уровней (проигнорировав значения меньше 30) в новый диапазон 0–255 уровней. То есть увеличили разницу между самой темной и самой светлой точками, а значит, увеличили контраст.
Обратите внимание на то, что повышение контраста связано с увеличением угла наклона кривой относительно исходных 45 градусов, а снижение – с его уменьшением. Иными словами, имеет смысл запомнить золотое правило кривых: чем круче кривая, тем выше контраст.
Аналогичные операции можно проделать с белой точкой. В этом случае контраст будет увеличиваться или уменьшаться за счет изменений не с самыми темными пикселями, а наоборот – самыми светлыми.
В более общем случае, когда наша кривая не является прямой, угол наклона будет определяться касательной к кривой в данной точке, а изменение контраста – изменением этого угла в некоторой области (илл. А.8).
Илл. А.8
В той части тонового диапазона, где угол наклона касательной меньше чем 45 градусов, контраст изображения при применении кривой уменьшается. Там, где угол наклона касательной больше 45 градусов, контраст увеличивается.
Посмотрим на изменения гистограммы нашей черно-белой картинки, которые будут происходить, если к ней применить кривую, изображенную на илл. А.8.
На илл. А.9 серым цветом обозначена исходная гистограмма, а черным – та, которая получится после применения приведенной выше кривой. Обратите внимание на так называемые «частокол» (в левой части гистограммы) и «расческу» (в правой ее части), которые возникают после применения кривой.
Илл. А.9
«Частокол» связан с тем, что соседние уровни изображения схлопываются в процессе снижения контраста. Так как некоторый диапазон (скажем, 0–100 уровней) мы пересчитываем в новый диапазон (скажем, 30–100 уровней), возникает некоторое количество «лишней» информации (в нашем случае 30 уровней), ведь части уровней становится в 2 раза больше, и программе необходимо их куда-то деть. Визуально это проявляется в виде пик на гистограмме.
«Расческа», наоборот, связана с тем, что уровни «прорежаются» в процессе повышения контраста. Ведь некоторый диапазон (скажем, 100–200 уровней) мы пересчитываем в новый диапазон (скажем, 50–250 уровней). Понятно, что возникает недостаток информации в виде части уровней с нулевым количеством пикселей, которые ему соответствуют.