大学时候帮人做的图像融合毕业设计的matlab代码,希望对大家有参考借鉴作用~~毕业论文没有了,就剩下代码了,其中包括加权融合算法,PCA融合算法,IHS融合算法。
-----------其中IHS融合算法理论基础如下---begin-------
IHS法
IHS(Intensity,Hue,Saturation)表示强度、色调和饱和度,它们是人们认识颜色的三个特征。IHS彩色空间变换是指将RGB(Red,Green,Blue)空间的图像分解成空间信息(I)和光谱信息(H,S)。常见的IHS融合中应用的变换公式如下[4,5]
将TM图像RGB三通道进行IHS变换,用PAN图像与变换后的I分量进行直方图匹配,用匹配后的图像替换原TM图像I分量再反变换,反变换公式如下
此外IHS变换还有另外一些变换形式,如文[5,7]。IHS变换作为目前一种图像分析领域的标准,应用于高相关数据的彩色增强[5]。
-----------其中IHS融合算法理论基础如下---end-------
----------其中PCA融合算法理论基础如下---begin------
PCA法
PCA(Principalcomponent analysis,主成分分析)也称K-L变换,是一种统计学方法。它将一组相关变量转化为一组原始变量的不相关线性组合的正交变换,其目的是把多波段的图像信息压缩或综合在一幅图像上,并且各波段的信息所作的贡献能最大限度地表现在新图像中。主成分分析方法主要用于图像编码、图像数据压缩、图像增强、边缘检测及数据融合当中。
算法的具体过程如下[15]:
取n波段TM图像数据形成n维列向量xi,X=(x1,x2,x3,…,xk),求其均值向量m和协方差矩阵Σx以及Σx的特征值λi和特征向量φi(i=1,2,…,n),令AT=(φ1,φ2,φ3,…,φn),由
(x-m),将高分辨率图像与y的第一主成分分量图像进行直方图匹配,使之与第一主成分分量图像具有相同的均值和方差,然后将匹配后的高分辨率图像代替第一主成分分量,再把它同其它主成分分量一起进行反变换,即可得到融合后的图像。
PCA融合算法的优点在于,它适用于多光谱图像的所有波段,但由于在PCA融合算法中只是用高分辨率图像来简单替换低分辨率图像的第一主成分,故会有低分辨率图像第一主成分分量中一些反映光谱特性的信息损失,因而使得融合结果图像的光谱分辨率受到较大的影响。
----------其中PCA融合算法理论基础如下---begin------
偶把代码放到网上后有朋友反映说代码运行不成功,会有"Exceed max matrix"超出最大维数错误,后来通过命令whos()或者imfinfo()得知输入的图片的格式不是RGB格式的,有两种solution:
1. 用photoshop或者其他的图片编辑软件(我又PhotoFiltre免费软件,很小)把灰阶图或索引图格式转换为RGB格式。
2. 在imread()函数之前用下面表里面的函数把不是rgb格式图片转换下为RGB格式再操作.
函数 |
用途 |
格式 |
ind2gray |
索引转灰阶 |
y=ind2gray(x,map) |
gray2ind |
灰阶转索引 |
[y,map]=gray2ind(x) |
rgb2gray |
RGB转灰阶 |
y=rgb2gray(x) |
gray2rgb |
灰阶转RGB |
y=gray2rgb(x) |
rgb2ind |
RGB转索引 |
[y,map]=gray2ind |
ind2rgb |
索引转RGB |
y=ind2rgb(x,map) |
如果上述2个solution还不行,可以:987958680我或:happyyangxu@163.com我。
|
文件: |
Graph_Syncretize.rar |
大小: |
85KB |
下载: |
下载 | |
阅读(14939) | 评论(6) | 转发(0) |