本文主要是介绍基于matlab小波技术进行图像融合,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
图像融合是指将多源信道所获取到的同一场景目标的图像信息经过计算机技术和图像处理等,集成一幅高质量的图像。融合图像所具有的信息更丰富,对信息的利用率更高。
当前,国内外对图像融合的研究越来越多,但是大多数的融合算法基本上都是集中在像素级上进行的,而对特征级和决策级上的图像融合涉猎较少。
根据经验,常用的融合算法可以分为两类:基于空间域和基于频率域的图像融合方法。
基于小波变换的图像融合是将原始图像进行小波分解,得到一系列不同频段的子图像,这些子图像能够反映图像的局部特征,然后用不同的融合规则对子图像进行处理,最后利用小波逆变换得到融合图像。
基于小波变换的图像融合步骤:
(1)对原始图像进行预处理和图像配准;
(2)对处理过的图像分别进行小波分解,得到低频和高频分量;
(3)对低频和高频分量采用不同的融合规则进行融合;
(4)进行小波逆变换;
(5)得到融合图像。
技术探讨:+企鹅:3624566919
常见小波函数:Haar、Daubechies、Biorthogonal、Coiflets、Symlets、Morlet、Mexican Hat、Meyer、Gaus、Dmeyer、ReverseBior、Cgau、Cmor、Fbsp、Shan.
融合前图像
融合后图像
主要处理过程(部分代码)
[imA, map1] = imread(handles.file1);
[imB, map2] = imread(handles.file2);
M1 = double(imA) / 256;
M2 = double(imB) / 256;
zt = 2;
wtype = 'haar';
[c0, s0] = Wave_Decompose(M1, zt, wtype);
[c1, s1] = Wave_Decompose(M2, zt, wtype);
Coef_Fusion = Fuse_Process(c0, c1, s0, s1);
Y = Wave_Reconstruct(Coef_Fusion, s0, wtype);
handles.result = im2uint8(mat2gray(Y));
这篇关于基于matlab小波技术进行图像融合的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!