PIL混合图片,需要给定的图片必须是尺寸相同的图片。下面两幅图片,就是两幅尺寸相同的图片。
工具/原料
1
电脑
2
python
3
pillow扩展包
方法/步骤
1
混合图片的方法如下:fig=Image.blend(img,pic,0.5)0.5是参数,可以调整。
2
制作一个动态图,从一幅图片变到另一幅图片的过程。
3
制作动态图是用的imageio模块,所以需要把PIL读取的结果转化为数组:A=[]for i in range(20): fig=Image.blend(img,pic,i/20) A.append(np.array(fig))
5
为此,需要使用numpy把img转化为数组的形式,因为imageio接受数组的形式。
6
其实,可以把给定两幅图片转化为数组之后,直接进行数组的加减法:img=Image.open('0.jpg')img=np.array(img)pic=Image.open('1.jpg')pic=np.array(pic)A=[]for i in range(20): i=i/20 fig=np.uint8(img*i+pic*(1-i)) A.append(fig)io.mimsave('0.gif',A,duration=0.1)