【发布时间】:2021-06-26 16:45:57
【问题描述】:
我正在尝试将 python 中的图像裁剪为圆形。而且我还想将该图像粘贴到另一个图像的顶部,然后将图像保存为所需的格式。
这是我尝试过的代码
from PIL import Image, ImageDraw, ImageFilter
im1 = Image.open('rocket.jpg')
im2 = Image.open('lena.jpg')
width, height = im1.size
print(height, width)
mask_im = Image.new("L", im2.size, 0)
draw = ImageDraw.Draw(mask_im)
draw.ellipse((150, 40, 250, 100), fill=255)
mask_im.save('mask_circle.jpg', quality=95)
back_im = im1.copy()
back_im.paste(im2, (0, 0), mask_im)
back_im.save('rocket_pillow_paste_mask_circle.jpg', quality=95)
mask_im_blur = mask_im.filter(ImageFilter.GaussianBlur(10))
mask_im_blur.save('mask_circle_blur.jpg', quality=95)
back_im = im1.copy()
back_im.paste(im2, (0, 0), mask_im_blur)
back_im.save('rocket_pillow_paste_mask_circle_blur.jpg', quality=95)
【问题讨论】:
-
请在问题中包含minimal-reproducible-example。
-
使用圆形霍夫变换将不起作用,因为可能会检测到许多圆圈。