我想到将一个图片去除背景将其放到另一张图片上以此实现融合。
1**. 打开想要融合的图片**
file = Image.open('6.png')
verse = '9.png'
2**. 将附在上面的图片的背景进行透明化**
verse = transPNG(verse)
# 图片背景透明化
def transPNG(srcImageName):
img = Image.open(srcImageName)
img = img.convert("RGBA")
datas = img.getdata()
newData = list()
for item in datas:
if item[0] > 220 and item[1] > 220 and item[2] > 220:
newData.append((255, 255, 255, 0))
else:
newData.append(item)
img.putdata(newData)
return img
3**. 定义将图片放置的位置坐标**
注意你的第二张图片的大小,不要超出它的大小就可以
co = (450, 350)
4**. 将两个图片进行融合生成一个新的图片**
我是将每个点都进行了遍历,效率有点慢,有好方法的人士欢迎指点!!谢谢
file = mix(file, verse, co)
# 图片融合
def mix(img1,img2,coordinator):
im = img1
mark = img2
layer = Image.new('RGBA', im.size, (0, 0, 0, 0))
layer.paste(mark, coordinator)
out = Image.composite(layer, im, layer)
return out