数字图像处理第一二次实验报告.docVIP

  • 28
  • 0
  • 约4.87千字
  • 约 12页
  • 2017-05-21 发布于浙江
  • 举报
数字图像处理第一二次实验报告

中国地质大学(武汉) 模式识别实验报告 姓名: 班级: 学号: 指导老师:马丽 遥感图像处理 实验内容: 一 学习使用ENVI 使用ENVI打开遥感图像(任选3个波段合成假彩色图像,保存写入报告) 会查看图像的头文件(保存或者copy至报告) 会看地物的光谱曲线(保存或者copy至报告) 进行数据信息统计(保存或者copy至报告) 设置ROI,对每类地物自己添加标记数据,并保存为ROI文件和图像文件 (CMap贴到报告中)。 使用自己设置的ROI进行图像分类(ENVI中的两种有监督分类算法)(分类算法名称和分类结果写入报告) 最小距离(Minimum?Distance):利用训练样本数据计算出每一类的均值向量和标准差向量,然后以均值向量作为该类在特征空间中的中心位置,计算输入图像中每个像元到各类中心的距离,到哪一类中心的距离最小,该像元就归入到哪一类。 马氏距离(Mahalanobis?Distance):计算输入图像到各训练样本的马氏距离(一种有效的计 算两个未知样本集的相似度的方法),最终统计马氏距离最小的,即为此类别。 二 MATLAB处理遥感数据(提交代码和结果) 用MATLAB读入遥感数据(zy3和DC两个数据) 8. 用MATLAB读入遥感图像中ROI中的数据(包括数据和标签) 9. 把图像数据m*n*L(其中m表示行数,n表示列数,L表示波段数),重新排列为N *L的二维矩阵(其中N=m*n ),其中N表示所有的数据点数量m*n。(提示,用reshape函数,可以help查看这个函数的用法) 10. 计算每一类数据的均值(平均光谱),并把所有类别的平均光谱画出来(plot)(类似下面的效果)。 11. 画出zy3数据中“农作物类别”的数据点(自己ROI标记的这个类别的点)在每个波段的直方图(matlab函数:nbins=50; hist(Xi,nbins),其中Xi表示这类数据在第i波段的数值)。计算出这个类别数据的协方差矩阵,并画出(figure, imagesc(C), colorbar)。 % 读遥感数据,以及读入带标签的数据 clear all % read the data zy3sample1 Img = multibandread(zy3sample1,[400,400,4],float,0,bsq,n,{Band,Direct,[1:4]});%将高光谱数据读入 GT = multibandread(123,[400,400,1],uint8,0,bsq,n,{Band,Direct,[1:1]});%将ground truth读入(也就是带标签的CMap或说ROI信息读入) test_class=1:4; C=length(test_class); NbRow=400; NbCol=400; NbDim=4; dataname=zy3; % 第一种方式读入带标签数据 [X,Y]=ExtractDataFromROI(Img, GT); % 或者自己写程序,根据Img和GT来读带标签数据。 X=[];Y=[]; for i=1:NbRow for j=1:NbCol if GT(i,j)~=0 %% 表明是带标签的数据 data=Img(i,j,:); data=reshape(data,1,NbDim); X=[X;data]; Y=[Y;GT(i,j)]; end end end % 计算平均光谱 img1=reshape(Img,NbRow*NbCol,NbDim); T=1:5; s=zeros(4,4); c=length(find(Y==1)); T(2)=c; for i=3:5 T(i)=T(i-1)+length(find(Y==(i-1))); end for j=1:4 for m=1:4 s(m,j)=sum(X(T(m):T(m+1),j))/(T(m+1)-T(m)); end end figure(5); plot(s); %画直方图和求协方差矩阵 nbins=50; figure(1); hist(X(T(1):T(2),1),nbins); figure(2); hist(X(T(1):T(2),2),nbins); figure(3); hist(X(T(1):T(2),3),nbins); figure(4); hist(X(T(1):T(2),4),n

文档评论(0)

1亿VIP精品文档

相关文档