Comment inverser les couleurs d'une image à l'aide d'ImageMagick ? convert
pour que le noir devienne blanc et que le blanc devienne noir ?
En d'autres termes, je veux transformer ça :
dans ceci :
を使用します。 -negate
opción:
convert input.png -channel RGB -negate output.png
Le site -negate
remplace chaque pixel par sa couleur complémentaire. Le site -channel RGB
est nécessaire à partir d'ImageMagick 7 pour éviter que le canal alpha (s'il est présent) ne soit annulé. (Merci à @yoya pour cette remarque).
Voir également le documentation para -negate
.
ImageMagick 6.x peut inverser l'intensité des couleurs avec l'option -negate uniquement. réf) https://www.imagemagick.org/script/command-line-options.php#negate
convert input.png -negate output.png
ImageMagick 7.x requiert l'option -channel avec -negate. réf) https://imagemagick.org/script/porting.php#cli Options modifiées
convert input.png -channel RGB -negate output.png
Ceci est dû au fait que les canaux actifs par défaut contiennent de la transparence (opaque/alpha) dans ImageMagick 7.x.
ImageMagick6: DefaultChannels = ((AllChannels | SyncChannels) &~ OpacityChannel)
ImageMagick7: DefaultChannels = AllChannels
La plupart des algorithmes mettent à jour les canaux rouge, vert, bleu, noir (pour CMYK) et alpha. La facilité d'utilisation de -negate semble être sacrifiée pour la cohérence globale.
Plus de détails pour vous. http://blog.awm.jp/2018/11/18/im7negate/
L'encre noire de mon imprimante Canon Pixma est épuisée et je ne peux pas imprimer mon code QR qui est en noir et blanc. Vous ne pouvez pas inverser les couleurs, car lorsque le noir devient blanc et le blanc devient noir, le périmètre du carré se confond avec le papier blanc et le code QR ne peut pas être scanné. Cela fait partie de la spécification du code QR en ce qui concerne le maintien de la limite du carré visuellement discernable.
Par conséquent, j'ai dû changer chaque couleur noire en bleu en utilisant la commande imagemagick convert :
convert qrdata89.bmp -fuzz 20% -fill blue -opaque black qrdata89_blue.bmp
Problème résolu.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.