ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【ENVI入门系列】16.基本光谱分析

2022-07-22 18:02:22  阅读:173  来源: 互联网

标签:Spectral 16 光谱 曲线 端元 ENVI 波谱 面板 光谱分析


版权声明:本教程涉及到的数据仅供练习使用,禁止用于商业用途。

目录

基本光谱分析    

1.    概述    

2.    详细操作步骤    

2.1    标准波谱库与浏览    

2.2    波谱库创建    

2.3    高光谱地物识别    

2.3.1    从标准波谱库选择端元进行地物识别    

2.3.2    自定义端元进行地物识别    

1. 概述

      光学遥感技术的发展经历了:全色(黑白)—>彩色摄影—>多光谱扫描成像—>高光谱遥感四个历程。

       高光谱分辨率遥感(HyperspectralRemote Sensing)用很窄(小于10nm)而连续的光谱通道对地物持续遥感成像的技术。在可见光到短波红外波段其光谱分辨率高达纳米(nm)数量级,通常具有波段多的特点,光谱通道数多达数十甚至数百个以上,而且各光谱通道间往往是连续的,因此高光谱遥感又通常被称为成像光谱(Imaging Spectrometry)遥感。相比多光谱传感器,如Landsat8 OLI包括9个波段,光谱分辨率为106nm。

如下图为从多光谱和高光谱数据上获取的波谱曲线,更高波谱分辨率的图像可以用于识别物质,而相比多光谱图像,如TM只能用于区分物质。

图:从多光谱和高光谱数据上获取的波谱曲线对比

       本课程学习ENVI的高光谱基本分析功能,包括波谱库的浏览与创建、基本的高光谱物质识别流程。

2. 详细操作步骤

2.1 标准波谱库与浏览

       ENVI自带多种标准波谱库,包括建立在JPL波谱库基础上的,从0.4~2.5μm三种不同粒径160种"纯"矿物的波谱。美国USGS从0.4~2.5μm包括近500种典型的矿物和一些植被波谱。来自Johns Hopkins University(JHU)的波谱包含0.4~14μm。IGCP246波谱库有5部分组成,通过对26个优质样品用5个不同的波谱仪测量获得。植被波谱库由Chris Elvidge 提供,范围是0.4~2.5μm。ENVI 5.1波谱库中新增了2443种Aster的波谱文件,同时对应的波谱工具也有了很大的该进,用户可直观地看到每一种波谱库中的文件个数,以及更为方便的查看每一种波谱文件的波谱曲线。

       ENVI的波谱库文件存放在HOME\ Program Files\Exelis\ENVI51\classic\spec_lib。

       启动ENVI 5.1, 主菜单 > Display > Spectral Library View,在对话框中显示的就是ENVI自带的波谱库文件;

图:ENVI自带波谱库文件

(1)选择打开Veg_lib(99)中的几个植被波谱文件;

在vegetation波谱库中选择6种不同植被的波谱曲线,在下图可以看到起对应的波谱曲线,以及波谱文件的属性信息,包括常规信息和曲线信息。

图:不同植被波谱曲线

(2)波谱曲线显示窗口中的功能;

       在波谱曲线窗口中可以看到4个部分的内容:

  • 导入文件(Import)

图:导入数据方式

       此功能可以导入两种格式的文件,包括ASCII及波谱库形式存在的文件。

  • 导出文件(Export)

图:导出数据方式

导出波谱文件的格式可以分类4大类:

  • 常见数据格式——ASCII与波谱库文件;
  • Image、PDF及Postscript输出格式;
  • 复制波谱曲线;
  • 直接打印曲线或在PowerPoint中展示;
  • 选项工具(Options)

图:选项功能

选项工具中有三个功能:

  • 打开新的Plot窗口——自由拖拽收集的地物波谱;
  • 波谱曲线上显示十字丝——一直保持十字丝可见,显示波谱显现十字丝节点含义;
  • 添加波谱图例——不同颜色的波谱曲线代表什么样的地物,更直观方便;
  • 波谱曲线X、Y轴代表含义

       X轴代表:

  • Wavelength:(默认显示)影像波长;
  • Index:波段i,i代表影像具有i个波段;
  • Wavenumber: 波数,即1/wavelength ,波数与波长成反比关系,波长越小,波数就越大。

       Y轴代表:

  • Data Value:(默认显示)影像原始值;
  • 包络线去除Continuum Removed:绘制数据与连续删除。连续的是,套在光谱的顶部的凸包。它分为原始数据值,以产生连续取出的值。在连续使用中的绘制曲线中所显示的第一和最后一个数据点计算的,所以只对已缩放的图形,在连续的基础上所显示的数据来计算范围。
  • Binary Encoding:二进制编码,重新生成0与1的波频曲线。

图:导出PNG格式的波谱曲线

(3)波谱曲线属性显示窗口

  • :同一窗口中显示多个地类的波谱曲线不予重叠显示;
  • :恢复原始数值范围曲线显示;
  • :点击此功能显示或者隐藏Plot Key与曲线属性;
  • :移除选中的一个曲线数据;
  • :移除全部的曲线数据;
  • :如果曲线节点有异常可以通过此工具进行编辑修订;

 

2.2 波谱库创建

       ENVI可以从波谱源中构建波谱库,波谱来源包括:ASCII文件,由ASD波谱仪获取的波谱文件,标准波谱库,感兴趣区/矢量区域平均波谱曲线,波谱剖面和曲线等。

       下面介绍波谱库建立的操作步骤:

       第一步:输入波长范围

(1)在ENVI中,选择Toolbox/Spectral/Spectral Libraries/Spectral Library Builder。打开Spectral Library Builder对话框。

(2)为波谱库选择波长范围和FWHM值,有三个选项:

  • "Data File" (ENVI图像文件) :波长和FWHM值(若存在)从选择文件的头文件中读取
  • "ASCII File":波长值与FWHM值的列的文本文件
  • "First Input Spectrum":以第一次输入波谱曲线的波长信息为准

       选择"First Input Spectrum",单击ok,打开Spectral Library Builder面板。

图:Spectral Library Builder对话框

       第二步:波谱收集

       在Spectral Library Builder面板中,可以从各种数据源中收集波谱,见下表。所有收集的波谱被自动重采样到选择的波长空间。

表2.1波谱收集方法说明

菜单命令

功能

文本文件(From ASCII file)

从包含波谱曲线x轴和y轴信息的文本文件,当选择好文本文件时候,需要在Input ASCII File面板中为x轴和y轴选择文本文件中相应的列。当选择from ASCII file (previous template)时,自动按照前面设置导入波谱信息。

from ASD Binary Files

从ASD波谱仪中导入波谱曲线。波谱文件将被自动重采样以匹配波谱库中的设置。当ASD文件的范围与输入波长的范围不匹配,将会产生一个全0结果。

from Spectral Library

从标准波谱库中导入波谱曲线。

from ROI/EVF from input file

从ROI或者矢量EVF导入波谱曲线,这些ROI /EVF关联相应的图像,波谱就是ROI/EVF上每个要素对应图像上的平均波谱。

from Stats file

从统计文件中导入波谱曲线,统计文件的均值波谱将被导入。

From Plot Windows

从Pot窗口中导入波谱曲线。

       下面介绍从高光谱图像数据中收集波谱。启动ENVI,打开高光谱数据CupriteReflectance.dat。

  • 收集图像上某个像元的波谱:

       (1)选择Display>Profile>Spectral,在Spectral Profile对话框中,显示当前鼠标点的剖面曲线。找到要收集的像元,鼠标选中,该像元的波谱曲线显示

(2)回到Spectral Library Builder面板中,选择Options>From Plot Windows,将所收集的波谱选中导入。

(3)导入的波谱显示在列表中,在波谱名称(Spectrum Name)字段对应的记录双击鼠标以修改波谱名称。同样的方法可以修改颜色(Color)字段的信息。

图:Import from Plot Windows面板

       这种方法是从图像上获取单个点的波谱曲线,也可以获取某个区域的平均波谱曲线,如ROI文件或者矢量文件。

  • 收集ROI或矢量文件范围的平均波谱

      (1)在ENVI主菜单中,选择File>Open,打开"ROI\CupriteMineralROIs.xml"感兴趣样本文件。

(2)回到Spectral Library Builder面板中,选择Options>from ROI/EVF from input file,选择高光谱文件CupriteReflectance.dat作为波谱来源。

图:Spectral Library Builder面板

(3)选中某一类感兴趣区,如方解石Calcite,点击Plot,绘制该感兴趣区的平均光谱曲线。

图:方解石Calcite的平均光谱曲线

       第三步:保存波谱库

(1)Spectral Library Builder面板中,点击Select All,将样本全部选中;

(2)Spectral Library Builder面板中,选择File>Save Spectra As>Spectral Library,打开Output Spectral Library面板;

(3)在Output Spectral Library面板中,可以输入以下参数:

  • Z剖面范围(Z Plot Range):空白(Y轴的范围,根据波谱值自动调节)
  • X轴标题(X Axis Title):波长
  • Y轴标题(Y Axis Title):反射率
  • 反射率缩放系数(Reflectance Scale Factor):空白
  • 波长单位(Wavelength Units):Nanometers
  • X值缩放系数(X Scale Factor):1
  • Y值缩放系数(Y Scale Factor):1

       (4)选择输入路径及文件名,单击OK保存波谱库文件。

图:保存波谱库参数设置面板

 

2.3 高光谱地物识别

       高光谱图像分类方法与传统的多光谱分类有本质的区别,从高光谱图像的每个像元均可以获取一条连续的波谱曲线,就可以考虑用已知的波谱曲线和图上每个像元获取的波谱曲线进行对比,理想情况下两条波谱曲线一样,就能说明这个像元是哪种物质。我们把高光谱图像分类、物质识别、探测等称为波谱识别。

       ENVI提供许多波谱分析方法,包括:二进制编码、波谱角分类、线性波段预测(LS-Fit)、线性波谱分离、光谱信息散度、匹配滤波、混合调谐匹配滤波(MTMF)、包络线去除、光谱特征拟合、多范围光谱特征拟合等。

       下面以一高光谱数据为例,学习用波谱角分析方法从高光谱图像中识别物质的操作过程。

2.3.1 从标准波谱库选择端元进行地物识别

       第一步:端元波谱收集

       ENVI的端元波谱收集途径非常多,包括ASCII文件、ASD测量文件、波谱库、ROI/矢量文件、统计文件、剖面波谱图、N维可视化分析器、二维散点图、SMACC工具等。这里我们选择从波谱库中收集端元波谱的方式。

(1)启动ENVI,打开高光谱数据CupriteReflectance.dat

(2)单击主菜单Display-> Spectral Library Viewer,打开usgs(1994)->minerals_asd_2151.sli,点击Alunite、Calcite、Prehnite、Protlanndite,收集这些矿物的端元波谱并自动绘制在右侧的窗口中,将这四条光谱曲线绘制在新的波谱显示窗口,修改每条曲线为中文名;

图:从波谱库中收集端元波谱

       第二步:物质识别

(1)在Toolbox中,打开/Classification/Endmember Collection工具,在文件对话框中选择高光谱数据CupriteReflectance.dat;

(2)在Endmember Collection面板中,选择Import >from Plot Windows。将4个端元波谱全部选中,点击OK;

(3)选择Algrithm >Spectral Angle Mapper 波谱角识别方法。

(4)单击Select All,选中所有的端元波谱。

图:选择端元波谱和制图方法

(5)单击Apply,运行波谱角法制图。

       第三步:结果输出

在Spectral Angle Mapper面板上,设置波谱角阈值:0.15,选择结果输出路径和名称。

图:Spectral Angle Mapper制图输出面板

图:矿物识别结果

2.3.2 自定义端元进行地物识别

       这里我们选择从图像上收集端元波谱的方式,包括收集单个像元波谱和区域的平均波谱。

       第一步:构建端元波谱库

(1)启动ENVI,打开高光谱数据CupriteReflectance.dat;

(2)单击主菜单Display> Profiles>Spectral,在图像上定位到像素坐标为:(467,412)的像元,即在工具栏Go To输入467,412回车,将该像元的光谱曲线显示在窗口中

图:(467,412)像元的波谱曲线

(3)在Toolbox中,打开/Classification/Endmember Collection工具,在文件对话框中选择高光谱数据CupriteReflectance.dat;

(4)在Endmember Collection面板中,选择Import –>from Plot Windows。将显示的端元波谱选中,点击OK;

单个像素的波谱曲线收集好了,下面是收集一个区域的平均波谱。

(5)在图层管理器中CupriteReflectance.dat上点击右键New Region Of Interest,找到一片需要识别的区域,绘制一个多边形区域;

注:可直接打开ROI\端元ROI.xml

(6)回到Endmember Collection面板,选择Import –>from ROI from input file,将绘制的ROI都选中,点击OK;

(7)在Endmember Collection面板,选择Select All,单击Plot将几条波谱曲线显示出来。

注:以防万一,点击File->Save Spectra as->Spectral Library File,将获取的端元波谱保存为端元波谱文件。

图:保存端元波谱

       第二步:确定端元波谱类型

       (1)在Toolbox中,选择/Spectral/Spectral Analyst,选择在对话框的右下角选择Open>Spectral Library,选择...\Program Files\Exelis\ENVI51\classic\spec_lib\usgs_min \usgs_min.sli作为对比波谱库,在识别方法权重上按照默认,点击OK;

       (2)在Spectral Analyst面板上,选择Options->Edit(x,y) Scale Factors,设置X Data Multipliter为0.001,设置Y Data Multipliter为0.0001,点击OK;

注:标准波谱库的波长是微米,y轴的值为0-1反射率。

图:设置待识别波谱与标准波谱库的单位比例关系

       (3)在Spectral Analyst面板上,单击Apply按钮,选择之前步骤中得到的第一个波谱进行分析,点击OK,记下分值最高对应的地物;

图:选择一个波谱进行分析

图:波谱曲线分析结果

       (4)回到Endmember Collection面板,将波谱分析得到的地物名在Name中输入;

       (5)重复(3)--(4)两步,识别剩下的波谱,最后结果如下图所示:

图:波谱识别结果

       第三步:物质识别

(1)在Endmember Collection面板中,选择Algrithm >Spectral Angle Mapper 波谱角识别方法;

(2)选择Select All将所有端元波谱全部选中,点击OK;

(3)单击Apply,运行波谱角法制图。

(4)在Spectral Angle Mapper面板上,设置波谱角阈值:0.02,选择结果输出路径和名称。

图:Spectral Angle Mapper制图输出面板

图:矿物识别结果

 

教材下载:http://pan.baidu.com/s/1bnnMgEz

数据下载:http://pan.baidu.com/s/1bnD48yF

视频下载:http://pan.baidu.com/s/1rlYSA

标签:Spectral,16,光谱,曲线,端元,ENVI,波谱,面板,光谱分析
来源: https://www.cnblogs.com/enviidl/p/16506633.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有