Может ли ImageMagick сделать мое изображение в оттенках серого ярче, «сжав» диапазон от черного к белому до темно-серого к белому?

Может ли ImageMagick сделать мое изображение в оттенках серого ярче, «сжав» диапазон от черного к белому до темно-серого к белому?

У меня есть изображение в оттенках серого с пикселями от черного до белого. Я хотел бы сделать его ярче, переместив "черный пол" вверх и масштабируя другие интенсивности пикселей. Я бы предпочел линейное масштабирование, но это не так уж и важно. Возможно ли это с помощью 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, я предлагаю эквивалент белой линии на этой кривой:

введите описание изображения здесь

Связанный контент