一、含义
-
将2张或者2张以上的图片信息融合到一张上
-
融合的图像含有更多的信息、能够方便人来观察或者计算机处理
-
融合的时,会采用一些算法:不同照片采用不同比例因子
-
结 果 图 像 = 图 像 1 × 系 数 1 + 图 像 2 × 系 数 2 + 亮 度 调 节 量 结果图像 = 图像1 \times 系数1 + 图像2 \times 系数2 + 亮度调节量 结果图像=图像1×系数1+图像2×系数2+亮度调节量
i m g = i m g 1 × 0.3 + i m g 2 × 0.2 + 18 img = img1 \times 0.3 + img2 \times0.2 + 18 img=img1×0.3+img2×0.2+18
亮度调节量可以为 0,但不可以省略
- 融合的照片大小、类型要一样
二、实现函数
d s t = a d d W e i g h t e d ( s r c 1 , a l p h a , s r c 2 , b e t a , g a m m a ) dst = addWeighted(src1,alpha,src2,beta,gamma) dst=addWeighted(src1,alpha,src2,beta,gamma)
d s t = s r c 1 × a l p h a + s r c 2 × b e t a + g a m a dst = src1 \times alpha +src2 \times beta +gama dst=src1×alpha+src2×beta+gama
参数gamma不能省略,可以为0
三、Python实现
#Author:MuMengSunny
#Filename:图像融合
import cv2
img = cv2.imread(r'F:\picture\barbara.bmp',cv2.IMREAD_UNCHANGED)
pic = cv2.imread(r'F:\picture\girl.bmp',cv2.IMREAD_UNCHANGED)
result = cv2.addWeighted(img,0.3,pic,0.6,0) # 进行融合
cv2.imshow('original_barbara',img)
cv2.imshow('original_girl',pic)
cv2.imshow('Fusion',result)
cv2.waitKey(0)
cv2.destroyAllWindows()
四、效果
- 原图片
- 融合后图片