Как инвертировать цвета изображения с помощью convert
инструмента ImageMagick , чтобы черный стал белым, а белый стал черным?
Другими словами, я хочу включить это:
в это:
imagemagick
Джо Лисс
источник
источник
-channel RGB -negate
чтобы избежать этого.-channel RGB
не является необходимым. Это только инвертирует альфа-канал, если я прохожу-channel RGBA -negate
. Я не уверен, что объясняет другое поведение.identify
что хотя вход воспринимается как «8-битный sRGB», вывод - «8-битный серый».ImageMagick 6.x может инвертировать интенсивность цвета только с опцией -negate. ref) https://www.imagemagick.org/script/command-line-options.php#negate
Для ImageMagick 7.x требуется параметр -channel с параметром -negate. ref) https://imagemagick.org/script/porting.php#cli Измененные параметры
Это потому, что активные каналы по умолчанию содержат прозрачность (непрозрачный / альфа) в ImageMagick 7.x
Большинство алгоритмов обновляют красный, зеленый, синий, черный (для CMYK) и альфа-каналы. Юзабилити -negate, похоже, приносится в жертву для общей согласованности.
Более подробно для вас. http://blog.awm.jp/2018/11/18/im7negate/
источник
convert input.png -negate output.png
у меня отлично работает на ImageMagick 7.0.8 (ArchLinux)identify -verbose input.png | grep Type
Он выводит TrueColor или TrueColorAlpha.-channel RGB
к своему ответу.