图像融合

首先,还是要导入常用的包~

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

posted @ 2019-10-16 00:38  lucky99  阅读(622)  评论(0编辑  收藏  举报