Я работаю над проектом, в котором мне нужно удалить фон изображения, единственная информация, которая у нас есть, это то, что это изображение содержит несколько (один или несколько) объектов, и мне нужно удалить фон и сделать его прозрачным изображением.
Вот образец изображения:
![enter image description here](https://i.stack.imgur.com/uSoJa.png)
И вот что я пробовал использовать 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
Заранее спасибо!