资源简介
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
相关资源
- Harris角点检测matlab实现
- 卡尔曼滤波MATLAB代码170027
- fpm算法,用于傅里叶叠层显微图像恢
- burg算法实现AR模型的功率谱估计 mat
- 基于MATLAB利用相关分析法辨识脉冲响
- Matlab代码编写的semi-supervised CCA 程序
- 求取图像的相关系数---matlab ---M文件
- Matlab数字识别
- EOF分析matlab代码
- 尾灯识别matlab代码
- MATLAB提取颜色直方图特征
-
Simuli
nk TI C2000 DSP 硬件支持包离线安 - 条纹投影轮廓术中的快速光栅预校准
- HHT变换的三种方法+Matlab程序
- 背景差分法的MATLAB代码
- matlab常用代码大全科研神器
- MATLAB GUI设计学习手记第3版源代码BY罗
- MATLAB GUI设计学习手记 第3版 源代码
- Split bregman 算法MATLAB源代码
- 台湾大学MATLAB课程郭彦甫全英文PPT课
- 注水法功率分配问题.m
- HHT变换的三种方法 Matlab
- 语音共振峰检测的MATLAB程序
- matlab实现仿射加密解密
- matlab 图像傅里叶变换 (源代码)
- Matlab实现的阿拉伯数字识别程序代码
- 用matlab实现RSA数字签名
- matlab实现RSA公钥密码体制
- MATLAB大脑腔体图像分割
- 内弹道计算程序
评论
共有 条评论