从图片中删除选定区域

2024-09-27 23:25:17 发布

您现在位置:Python中文网/ 问答频道 /正文

import numpy
from PIL import Image, ImageDraw

im = Image.open("image.jpg").convert("RGBA")

imArray = numpy.asarray(im)

polygon = [(700,150),(1200,150),(1200,450),(1000,650),(700,650)]
maskIm = Image.new('L', (imArray.shape[1], imArray.shape[0]), 0)
ImageDraw.Draw(maskIm).polygon(polygon, outline=1, fill=1)
mask = numpy.array(maskIm)

newImArray = numpy.empty(imArray.shape,dtype='uint8')

newImArray[:,:,:3] = imArray[:,:,:3]
newImArray[:,:,3] = mask*255

newIm = Image.fromarray(newImArray, "RGBA")
newIm.show()

原始图像 Original Image

在这个代码之后,我得到了这个图像

this image

如何从图片中删除所选内容

我想这样做

image

提前感谢您的帮助


Tags: from图像imageimportnumpymaskshapepolygon

热门问题