如何将转换命令更改为 python 代码

How to change the convert command to python code

我在项目中使用 Imagemagick 进行图像增强。由于我是 Imagemagick 的新手,我已经开始使用这个包的命令行参数。为了进一步处理,我需要将以下命令更改为 python 代码。

convert sample.jpg -blur 2x1 -sharpen 0x3 -sharpen 0x3 -quality 100 -morphology erode diamond -auto-orient -enhance -contrast -contrast-stretch 0 -gamma .45455 -unsharp 0.25x0.25+8+0.065 -fuzz 2% output.jpg

我认为使用魔杖包是可能的。但是是否可以转换上述命令中使用的所有参数。任何帮助深表感谢。谢谢

您可以使用 os.system() 到 运行 来自 Python 的终端命令。

import os

command = 'convert sample.jpg -blur 2x1 -sharpen 0x3 -sharpen 0x3 -quality 100 -morphology erode diamond -auto-orient -enhance -contrast -contrast-stretch 0 -gamma .45455 -unsharp 0.25x0.25+8+0.065 -fuzz 2% output.jpg'

os.system(command)

如果要动态使用路径,也可以使用.format()方法:

infile = 'sample.jpg'
outfile = 'output.jpg'

command = 'convert {} -blur 2x1 -sharpen 0x3 -sharpen 0x3 -quality 100 -morphology erode diamond -auto-orient -enhance -contrast -contrast-stretch 0 -gamma .45455 -unsharp 0.25x0.25+8+0.065 -fuzz 2% {}'.format(infile, outfile)

os.system(command)

另一个选项是 Wand,它是 python 的 ImageMagick 绑定,用于转换上述命令。详情请参考以下link:

wand docs