在Linux系统上使用ImageMagick和Python

13 投票
4 回答
24411 浏览
提问于 2025-04-16 11:59

我想定义一个函数,用来“调用”imagemagick来转换图片。

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

我该如何在Python中调用和使用imagemagick呢?

我是在一个Linux系统上运行,imagemagick已经安装好了,而且我不使用PIL模块,因为它不支持PPM[p3]格式。

4 个回答

6

我建议你使用subprocess,这样更安全。

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

免责声明: 我是Wand的作者。

你可以很简单地使用Wand来实现这个功能,Wand是一个为Python提供的简单的ImageMagick绑定。比如,下面的代码可以把PNG格式的图片转换成JPEG格式:

from wand.image import Image

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

你也可以看看这个教程

8

你可以用Python的一个命令行接口,比如os.system或者subprocess.Popen,来调用imagemagick这个程序,或者试试PythonMagick这个库。

撰写回答