Используйте ImageMagick с помощью python. (в Linux-системе)

Я хочу определить функцию, которая "вызывает" imagemagick для преобразования изображения.

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

Как я могу позвонить и использовать imagemagick с Python?

Я запускаюсь в Linux-системе, устанавливается imagemagick, и я не использую PIL.module, потому что он не обрабатывает PPM [p3].

Ответ 1

Либо используйте один из интерфейсов оболочки Python (os.system, subprocess.Popen), чтобы вызвать двоичный файл imagemagick, или попробуйте PythonMagick.

Ответ 2

Отказ от ответственности. Я автор Wand.

Вы можете легко сделать это с помощью Wand, простого связывания ImageMagick для Python. Например, следующий код преобразует изображение PNG в изображение JPEG:

from wand.image import Image

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

См. этот учебник.

Ответ 3

Я хотел бы предложить использовать подпроцесс, он безопаснее

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

Ответ 4

Я не использовал волшебство изображения, но вы могли использовать команду os.system для вызова команды оболочки:

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

Я предлагаю вам пойти с PythonMagic, как сказал Creshal. Он предоставляется ImageMagic и, следовательно, должен быть одним из лучших портов, доступных для python.