Возможно, вы хотите гамма-коррекция , которая будет сохранять истинный черный и истинный белый правильные , при этом сгибая значения между ними.
Формула для настройки гаммы, когда вход находится в диапазоне (0,0, 1,0):
output = pow( input, gamma )
... где gamma
будет светлее, когда меньше 1,0, и темнее, когда выше 1,0.
Чтобы увеличить значение от 0,8 до 0,9, необходимо вычислить log(0.9)/log(0.8)
, чтобы получить гамму 0,4722 .
Обратите внимание, что это одна из очень многих формул - и математически проще всего будет сохранить черный и белый как уникальные цвета (что некоторые считают важными) - однако нет единой правильной формулы, чтобы дать ты что такое "правда".
Приложение: я проверил, что гамма-коррекция может применяться к значениям, которые уже гамма-кодированы. Трудно записать математику в уценке, но основной алгебраический закон:
(y**a)**b == y**(a*b) == y**(b*a) == (y**b)**a
Если вы применяете этот закон, вы можете определить, что гамма-коррекция коммутирует, так что все в порядке, чтобы применить гамма-коррекцию к уже исправленным значениям. & Mdash; NR