Python 脚本中的 ImageMagick 代码

ImageMagick code in Python script

我需要转换图像,因为它只将蓝色显示为斑点,有什么办法可以在 python 脚本中 运行 这段代码吗?或者我该怎么做?

下面的代码可以完成这项工作,但我不知道如何 link 将它们组合在一起, 代码新手,如有任何建议、指导、links 等,我们将不胜感激。

海报化

sudo convert imgIn.jpg -posterize 2 imgOut.jpg

转换为 blob

sudo convert imgIn.jpg -matte \( +clone -fuzz 57% -opaque black -transparent blue \) -compose DstOut -composite imgOut.jpg

您可以使用 subprocess.check_call,将参数作为列表传递:

from subprocess import  check_call

check_call(["sudo","convert","imgIn.jpg", "-posterize","2","imgOut.jpg"])

check_call([ "sudo",'convert', 'imgIn.jpg', '-matte', '(', '+clone', '-fuzz', '57%', '-opaque', 'black', '-transparent', 'blue', ')', '-compose', 'DstOut', '-composite', 'imgOut.jpg'])

你必须 运行 使用 sudo 的脚本,如果你想传递密码也可以使用 Popen 将密码写入标准输入:

from subprocess import Popen, PIPE

p1 = Popen(["sudo", "-S", "convert", "imgIn.jpg", "-posterize", "2", "imgOut.jp"], stdin=PIPE, stdout=PIPE)

p1.stdin.write("password\n")
out, err = p1.communicate()