我需要创建1000张图像的叠加/合成,这些图像的大小彼此相同。它们都具有相同的透明度,使得在1000个图像中的任何一个中没有图像的任何像素将是白色,而在1000个图像中的每个图像中具有图像的像素在1000的最终重叠中将是黑色的。 / p>
我是该域名的新手,并一直试图找出最佳方法。我意识到可以使用混合或粘贴(此时不确定它们之间的差异),但它们只需要2个图像作为参数。我如何叠加所有1000?
答案 0 :(得分:0)
你必须在1000个图像上循环,将它们保存在一个辅助数组中并将它们绘制在同一个图中,代码将是这样的:
import numpy as np
import matplolib.pyplot as plt
from PIL import Image
img_list = 'list of name of your images '
fig= plt.figure(1)
for i in img_list:
aux=Image.open(i)
aux=np.array(aux)
plt.imshow(aux)
plt.show()
plt.imsave('name.png')
如果它不起作用尝试相同的脚本,但每次使用新图像和重叠图像作为参数粘贴如下:
import numpy as np
from PIL import Image
img_list = 'list of names of your images '
i=0
background = Image.new(img_list[1].mode ,img_list[1].size)
while i < len(img_list):
aux = Image.open(img_list[i])
background = background.paste(aux,(0,0),aux)
i=i+1
background.show()