it-swarm.com.de

Invertieren Sie Farben mit ImageMagick

Wie invertiere ich die Farben eines Bildes mit dem ImageMagick-Werkzeug convert, sodass Schwarz zu Weiß und Weiß zu Schwarz wird?

Mit anderen Worten, ich möchte das umdrehen:

original

das sehr gut finden:

inverted

24
Jo Liss

Verwenden Sie die Option -negate:

convert input.png -channel RGB -negate output.png

Die Option -negate ersetzt jedes Pixel durch seine Komplementärfarbe. Die Option -channel RGB ist ab ImageMagick 7 erforderlich, um zu verhindern, dass der Alphakanal (falls vorhanden) negiert wird. (Danke an @yoya für diesen Einblick!)

Siehe auch die Dokumentation für -negate.

34
Jo Liss

ImageMagick 6.x kann Farbintensitäten nur mit der Option -negate invertieren. ref) https://www.imagemagick.org/script/command-line-options.php#negate

convert input.png -negate output.png

ImageMagick 7.x benötigt die Option -channel mit -negate. ref) https://imagemagick.org/script/porting.php#cli Geänderte Optionen

convert input.png -channel RGB -negate output.png

Dies liegt daran, dass die standardmäßig aktiven Kanäle in ImageMagick 7.x Transparenz (opak/alpha) enthalten

ImageMagick6: DefaultChannels = ((AllChannels | SyncChannels) &~ OpacityChannel)
ImageMagick7: DefaultChannels = AllChannels

Die meisten Algorithmen aktualisieren die Kanäle Rot, Grün, Blau, Schwarz (für CMYK) und Alpha. Die Verwendbarkeit von -negate scheint aus Gründen der Gesamtkonsistenz geopfert zu werden.

Mehr Details für Sie. http://blog.awm.jp/2018/11/18/im7negate/

2
yoya