如何在魔杖(python)中并排堆叠两个图像?复合方法可用,但它将一个图像放在另一个上面。 我想要像numpy.vstack这样的东西。
答案 0 :(得分:1)
wand.image.Image.composite
方法接受top
& left
个参数。没有太多的努力来并排合成图像......
with Image(filename="rose:") as left:
with Image(filename="rose:") as right:
with Image(width=left.width+right.width,
height=max(left.height, right.height)) as output:
output.composite(image=left, left=0, top=0)
output.composite(image=right, left=left.width, top=0)
output.save(filename="hstack.png")
...或堆叠......
with Image(filename="rose:") as top:
with Image(filename="rose:") as bottom:
with Image(width=max(top.width, bottom.width),
height=top.height + bottom.height) as output:
output.composite(image=top, left=0, top=0)
output.composite(image=bottom, left=0, top=top.height)
output.save(filename="vstack.png")
当然,您可以简化上述示例,或使用wand.api.library
来实施MagickAppendImage
。
答案 1 :(得分:0)
您还可以将 smush()
与图像之间的可选间距一起使用,并且:
stacked=True
用于垂直(一个在另一个之上)堆叠,或stacked=False
用于并排堆叠。from wand.image import Image
im = Image(filename="rose:")
with im as output:
output.sequence.append(im)
output.sequence.append(im)
output.smush(True, 5)
output.save(filename='result.png')
https://arpitbhayani.me/blogs/mongodb-cursor-skip-is-slow
如果您不希望图像之间有任何间距,请使用 offset=0
或仅使用 concat()
而不是 smush()
,但方式完全相同。