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()
原始图像
在这个代码之后,我得到了这个图像
如何从图片中删除所选内容
我想这样做
提前感谢您的帮助
看起来你需要反转你的遮罩-目前,你的多边形周围有0个,里面有1个
尝试将
newImArray[:,:,3] = mask*255
更改为newImArray[:,:,3] = (1-mask)*255
相关问题 更多 >
编程相关推荐