图像融合
首先,还是要导入常用的包~
1 import cv2 2 import matplotlib.pyplot as plt 3 import numpy as np 4 %matplotlib inline
在这里做了一点小小的改进,把显示图片的操作封装在了一个函数中
1 def showimg(name,img): 2 cv2.imshow(name,img) 3 cv2.waitKey(0) 4 cv2.destroyAllWindows()
一开始直接用了addWeighted(),但是出现了如下错误
1 result=cv2.addWeighted(img_cat,0.4,img_dog,0.6,0)
即要融合的两张图片shape值不一样,是无法进行融合操作的,那么接下来就要想办法更改其中一张照片的shape值
就用到了resize()函数
这样就将狗的照片变成和猫的那张照片一样的大小,再使用addWeighted()函数就可以正常显示了
注:关于addWeighted()
#res=αx+βy+b;
#α表示x占的权重,β表示y占的权重,b表示亮度的微调
#在上述参数中img_cat相当于x,img_dog相当于y,0.4相当于α,0.6相当于β,b=0