Utilisez ImageMagick avec python. (sur un système Linux)

Je veux définir une fonction qui “appelle” imagemagick pour convertir une image.

def convert(filein,fileout): #imagemagick>convert filein fileout 

Comment puis-je appeler et utiliser imagemagick avec Python?

Je cours sur un système Linux, imagemagick est installé et je n’utilise pas PIL.module car il ne gère pas PPM [p3].

Utilisez l’une des interfaces shell de Python (os.system, subprocess.Popen) pour appeler le binary imagemagick ou essayez PythonMagick .

Disclaimer : Je suis l’auteur de Wand.

Vous pouvez facilement faire cela en utilisant Wand , une simple liaison de ImageMagick pour Python. Par exemple, le code suivant convertit une image PNG en une image JPEG:

 from wand.image import Image with Image(filename='in.png') as img: img.format = 'jpeg' img.save(filename='out.jpg') 

Voir également ce tutoriel .

Je suggère d’utiliser un sous-processus, il est plus sûr

 import subprocess params = ['convert', 'src_file', 'result_file'] subprocess.check_call(params) 

Je n’ai pas utilisé de magie d’image mais vous pouvez utiliser os.system pour appeler une commande shell:

 import os os.system('imagemagick-converting-command filein fileout') 

Je vous suggère d’aller avec PythonMagic, comme l’a dit Creshal. Il est fourni par ImageMagic et doit donc être l’un des meilleurs ports disponibles pour python.