资源简介
8波段的遥感影像,其中包含建筑物、道路、植被、 水四种地物类型,现已从四种类型中分别选取了训练样本若干,分别存储在building.xls、road.xls、vegetation.xls和water.xls四个文件中,unknow.xls文件中存储了待分类像素在8个波段上的灰度值以及这些像素的真实地物类型,要求利用最大似然法对unknow.xls中的像素进行分类,并利用unknow.xls文件中最后一列的类别信息对分类结果进行精度评价。已求出总体精度、用户精度、制图精度、Kappa系数。内附数据以及结果文件。 需要更改读取文件的路径为自己的路径。matlab完美运行

代码片段和文件信息
function class=supervised_classification(~)
[U]=xlsread(‘D:\朝花夕拾\淡\遥感原理与应用\分类——实验\road\unknown.xlsx‘);%感兴趣区数据
u=U(:1:8);%感兴趣区8个波段的灰度值
[munu]=size(u);
A=xlsread(‘D:\朝花夕拾\淡\遥感原理与应用\分类——实验\road\building.xls‘); %建筑物
B=xlsread(‘D:\朝花夕拾\淡\遥感原理与应用\分类——实验\road\road.xls‘); %道路
C=xlsread(‘D:\朝花夕拾\淡\遥感原理与应用\分类——实验\road\vegetation.xls‘); %植被
D=xlsread(‘D:\朝花夕拾\淡\遥感原理与应用\分类——实验\road\water.xls‘); %水
MA=mean(A);MB=mean(B);MC=mean(C);MD=mean(D);%均值
EA=cov(A); EB=cov(B); EC=cov(C); ED=cov(D); %协方差
[mana]=size(A);[mbnb]=size(B);[mcnc]=size(C);[mdnd]=size(D);
PA=ma/(ma+mb+mc+md);
PB=mb/(ma+mb+mc+md);
PC=mc/(ma+mb+mc+md);
PD=md/(ma+mb+mc+md);
%判别
for i=1:mu
%选择UNKONW 的第i个向量X
%计算Da Db Dc Dd
X=u(i1:8);
Da=-0.5*((X-MA)*inv(EA)*(X-MA)‘)-0.5*log(det(EA))+log(PA);
Db=-0.5*(X-MB)*inv(EB)*(X-MB)‘-0.5*log(det(EB))+log(PB);
Dc=-0.5*(X-MC)*inv(EC)*(X-MC)‘-0.5*log(det(EC))+log(PC);
Dd=-0.5*(X-MD)*inv(ED)*(X-MD)‘-0.5*log(det(ED))+log(PD);
D=[Da Db Dc Dd];
[xy]=max(D);
class_now(i1)=y;
end
uo=U(:9);
%c=0
%for i=1:mu
%if(uo(i1)==class_now(i1))
% c=c+1;
%end
%end
class=class_now;
[fnamefilepath]=uiputfile(‘*.txt‘‘分类结果另存为‘);
fid=fopen(strcat(filepathfname)‘wt‘);
fprintf(fid‘分类结果:\n‘);
for j=1:mu
fprintf(fid‘%d\n‘class(j1));
end
%精度
XX=confusionmat(uo‘class‘);%混淆矩阵
disp(XX);
disp(XX(44));
sp=0;
XKS=0;
for i=1:4
pu(i)=XX(ii)/(XX(i1)+XX(i2)+XX(i3)+XX(i4));%用户精度
sp=XX(ii)+sp;
pA(i)=XX(ii)/(XX(1i)+XX(2i)+XX(3i)+XX(4i));%制图精度
XKS=XKS+(XX(i1)+XX(i2)+XX(i3)+XX(i4))*(XX(1i)+XX(2i)+XX(3i)+XX(4i));%kappa系数
end
p=sp/mu;%总体精度
Kappa=(mu*sp-XKS)/(mu^2-XKS);
fprintf(fid‘总体精度:\n‘);
fprintf(fid‘%f\n‘p);
fprintf(fid‘用户精度:\n‘);
fprintf(fid‘%f\n‘pu);
fprintf(fid‘制图精度:\n‘);
fprintf(fid‘%f\n‘pA);
fprintf(fid‘Kappa系数:\n‘);
fprintf(fid‘%f\n‘Kappa);
fclose(fid);
disp(p);
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-05-25 10:19 road\
文件 254976 2018-05-25 10:07 road\building.xls
文件 218112 2018-05-25 10:07 road\road.xls
文件 50417 2018-05-25 10:07 road\unknown.xlsx
文件 226816 2018-05-25 10:07 road\vegetation.xls
文件 253952 2018-05-25 10:07 road\water.xls
文件 165 2018-05-25 10:19 road\~$unknown.xlsx
文件 2161 2018-06-01 12:28 supervised_classification.m
文件 2618 2018-06-01 12:31 监督分类结果.txt
文件 12185 2018-05-31 22:21 说明.docx
- 上一篇:卡尔曼滤波MATLAB代码
- 下一篇:Harris角点检测matlab实现
相关资源
- 基于小波变换的数字水印算法115024
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
评论
共有 条评论