基于Matlab的小波变换图像融合算法设计与实现
一、引言
随着科学技术的不断发展,图像处理技术越来越得到广泛应用。图像融合技术是图像处理领域的一个重要分支,主要是指在不同来源下得到的多幅图像融合成一幅综合性图像。目前,图像融合技术已经在多个领域得到应用,如遥感、医学、军事等。
本文介绍了一种基于Matlab的小波变换图像融合算法。首先,通过对原始图像进行小波变换,得到低频和高频系数;然后,计算每个像素点的能量权重,并结合不同的融合规则对不同的高频系数进行加权平均,再将加权平均后的高频系数与低频系数进行合并,最后进行逆小波变换,得到最终的融合图像。
二、算法流程
- 读取原始图像
- 对原始图像进行小波变换,得到低频和高频系数
- 计算每个像素点的能量权重
- 根据不同的融合规则,对不同的高频系数进行加权平均
- 将加权平均后的高频系数与低频系数进行合并
- 进行逆小波变换,得到最终的融合图像
三、算法实现
-
读取原始图像
img1 = imread(‘img1.jpg’);
img2 = imread(‘img2.jpg’); -
小波变换
[LL1, LH1, HL1, HH1] = dwt2(img1, ‘haar’);
[LL2, LH2, HL2, HH2] = dwt2(img2, ‘haar’); -
能量权重计算
alpha = 0.5; % 可调节参数,一般取值为0.45~0.55
energy1 = LH1.^