如何使用Wand& amp;将此命令转换为python代码ImageMagick的

时间:2014-12-19 13:13:06

标签: python imagemagick wand

我想转换图像,以便我可以使用pyocr&更好地阅读它正方体。 我想要转换为python的命令行是:

convert pic.png -background white -flatten -resize 300% pic_2.png

使用python Wand我设法调整它但我不知道如何做flattend和白色背景 我的尝试:

from wand.image import Image
with Image(filename='pic.png') as image:
    image.resize(270, 33)  #Can I use 300% directly ?
    image.save(filename='pic2.png')

请帮忙
编辑,这是进行测试的图像: enter image description here

1 个答案:

答案 0 :(得分:9)

调整大小&背景。请使用以下内容,并注意您需要自己计算300%。

from wand.image import Image
from wand.color import Color

with Image(filename="pic.png") as img:
  # -resize 300%
  scaler = 3
  img.resize(img.width * scaler, img.height * scaler)
  # -background white
  img.background_color = Color("white")
  img.save(filename="pic2.png")

不幸的是,方法MagickMergeImageLayers尚未实施。您应该撰写增强请求with the development team

<强>更新 如果要删除透明度,只需禁用Alpha通道

from wand.image import Image

with Image(filename="pic.png") as img:
  # Remove alpha
  img.alpha_channel = False
  img.save(filename="pic2.png")

另一种方式

创建一个与第一个图像尺寸相同的新图像可能更容易,只需将源图像合成到新图像上即可。

from wand.image import Image
from wand.color import Color

with Image(filename="pic.png") as img:
  with Image(width=img.width, height=img.height, background=Color("white")) as bg:
    bg.composite(img,0,0)
    # -resize 300%
    scaler = 3
    bg.resize(img.width * scaler, img.height * scaler)
    bg.save(filename="pic2.png")