【发布时间】:2019-02-08 06:54:25
【问题描述】:
我正在做一个需要删除图像背景的项目,我们拥有的唯一信息是它是一个包含一些(一个或多个)对象的图像,我需要删除背景并使其成为透明图像。
这是一个示例图片:
而且,这是我使用 PIL 尝试过的:
img = Image.open(url)
img = img.convert("RGBA")
datas = img.getdata()
print('Old Length is: {}'.format(len(datas)))
# print('Exisitng Data is as: {}'.format(datas))
newData = []
for item in datas:
# print(item)
if item[0] == 255 and item[1] == 255 and item[2] == 255:
newData.append((255, 255, 255, 0))
else:
newData.append(item)
img.putdata(newData)
print('New Length is: {}'.format(len(datas)))
img.show()
img.save("/Users/abdul/PycharmProjects/ImgSeg/img/new.png", "PNG")
print('Done')
它保存与输入相同的图像,名称为new.png,图像中没有任何内容被删除。
当我打印 datas 和 newData 时,它会打印相同的值:
Old Length is: 944812
New Length is: 944812
提前致谢!
【问题讨论】:
标签: python python-imaging-library