您可以使用 Wand 从同一图像裁剪多个区域吗?
Can you crop multiple areas from the same image with Wand?
我有两张图片,想从第一张图片中提取多个区域并将它们覆盖在第二张图片上。有没有一种方法可以在不使用 Python Wand 再次加载第一张图像的情况下从图像中裁剪多个区域?类似于 ImageMagick 中 +repage
的反义词。
bg_img = Image(filename = 'second_image.jpg')
fg_img = Image(filename = 'first_image.jpg')
left = 50
top = 600
width = 30
height = 30
fg_img.crop(left, top, width=width, height=height)
bg_img.composite(fg_img, left, top)
fg_img = Image(filename = 'first_image.jpg')
left = 500
top = 600
width = 100
height = 30
fg_img.crop(left, top, width=width, height=height)
bg_img.composite(fg_img, left, top)
bg_img.save(filename='second_image_plus_overlays.png')
您可以在 Python Wand 中通过克隆输入来做到这一点。
输入:
from wand.image import Image
from wand.display import display
with Image(filename='lena.jpg') as img:
with img.clone() as copy1:
copy1.crop(left=50, top=100, width=100, height=50)
copy1.save(filename='lena_crop1.jpg')
display(copy1)
with img.clone() as copy2:
copy2.crop(left=100, top=50, width=50, height=100)
copy2.save(filename='lena_crop2.jpg')
display(copy2)
结果 1:
结果 2:
我有两张图片,想从第一张图片中提取多个区域并将它们覆盖在第二张图片上。有没有一种方法可以在不使用 Python Wand 再次加载第一张图像的情况下从图像中裁剪多个区域?类似于 ImageMagick 中 +repage
的反义词。
bg_img = Image(filename = 'second_image.jpg')
fg_img = Image(filename = 'first_image.jpg')
left = 50
top = 600
width = 30
height = 30
fg_img.crop(left, top, width=width, height=height)
bg_img.composite(fg_img, left, top)
fg_img = Image(filename = 'first_image.jpg')
left = 500
top = 600
width = 100
height = 30
fg_img.crop(left, top, width=width, height=height)
bg_img.composite(fg_img, left, top)
bg_img.save(filename='second_image_plus_overlays.png')
您可以在 Python Wand 中通过克隆输入来做到这一点。
输入:
from wand.image import Image
from wand.display import display
with Image(filename='lena.jpg') as img:
with img.clone() as copy1:
copy1.crop(left=50, top=100, width=100, height=50)
copy1.save(filename='lena_crop1.jpg')
display(copy1)
with img.clone() as copy2:
copy2.crop(left=100, top=50, width=50, height=100)
copy2.save(filename='lena_crop2.jpg')
display(copy2)
结果 1:
结果 2: