最近在做图像融合这块的工作,对于图像融合也是初出茅庐, 想开始学习了最简单融合算法:加权融合算法。
就拿出来做个笔记,方便后续整理,以及读者学习方便
加权平均融合法
加权平均融合法是将源图像像素的灰度值进行线性加权平均,生成新的融合图像,是一种最简单、直接的图像融合方法,融合过程如下图所示,一般形式如下:
F(𝑥, 𝑦) = 𝜔a·A(𝑥, 𝑦) + 𝜔𝐵∙ B(𝑥, 𝑦)
其中𝜔a、𝜔b是加权系数,𝜔a+ 𝜔b= 1,若𝜔a= 𝜔b= 0.5,即为像素平均法融合。像素平均法能够融合图像的信噪比,但会削弱图像的对比度,使融合图像存在 “水洗(Washed-out)”现象。
加权平均融合方法简单易实现、系统开销小、实时性强,一定程度上可以抑制源图像中的噪声。但简单的加权平均存在使图像对比度降低的问题,它会削弱源图像中的细节信息,不利于保留源图像的边缘、轮廓等细节信息 ,在多数场合难以取得满意的融合效果。
附一下代码(没有图片结果,可以选择图片进行试验)
import cv2
img1=cv2.imread("image\W2B_0.bmp") #读取图片1
img2=cv2.imread("image\W2B_100.bmp") #读取图片2
cv2.imshow(ch("可见光 图片"),img1)
cv2.imshow(ch("红外 图片"),img2)
dst1=cv2.addWeighted(img1,0.25,img2,0.75,0) #进行加权融合处理,意思是图片1占比25%,图片2占比75%
cv2.imshow("image_75%",dst1)
cv2.waitKey(0)
cv2.destroyAllWindows()