
У меня есть изображение в оттенках серого с пикселями от черного до белого. Я хотел бы сделать его ярче, переместив "черный пол" вверх и масштабируя другие интенсивности пикселей. Я бы предпочел линейное масштабирование, но это не так уж и важно. Возможно ли это с помощью ImageMagick?
решение1
Для этого можно использовать +level
команду. Давайте для начала сделаем полномасштабный черно-белый градиент:
magick -size 400x400 gradient:black-white start.jpg
Я искусственно добавил небольшую красную рамку, чтобы вы могли видеть ее в полном объеме на дурацком фоне StackExchange.
Теперь предположим, что вы хотите переместить черную точку от 0 до 40% черного, но оставить белую точку неизменной на уровне 100% и линейно масштабировать все между ними:
magick start.jpg +level 40,100% result.jpg
Обратите внимание, что если вы не укажете верхний уровень, то предполагается, что он такой же, как и нижний уровень, поэтому это сократит стоимость на 40%.обаконцы черно-белой шкалы:
magick start.jpg +level 40% result.jpg
Если вы знакомы с уровнями/кривыми Photoshop, я предлагаю эквивалент белой линии на этой кривой: