erdas遥感图像几何校正_定量/高光谱遥感之—光谱分析技术

dfda98ae2326a9df9921807edbc87ff6.png

文章转载自微信公众号CSDN,作者冰清-小魔鱼,版权归原作者及刊载媒体所有。
在定量遥感或者高光谱遥感中,信息提取主要用到光谱/波谱分析技术。本专题对光谱/波谱分析中涉及的流程及一些技术进行讲解,包括以下内容:
  • 基本概念

  • 遥感反演

  • 波谱识别

1 基本概念

     “光谱分析”在很多领域也有这个概念,比如医学、电子学、化学等。如其中一个概念为:“光谱分析主要是以光学理论为基础,以物质与光相互作用为条件,建立物质分子结构与电磁辐射之间的相互关系,从而进行物质分子几何异构、立体异构、构象异构和分子结构分析和鉴定的方法。”

    在遥感里面经常会看到光谱分析和波谱分析两个概念,可以将光谱分析视为在微观条件下定义;波谱分析在宏观上定义的。也就是光谱分析是广义定义,波谱分析是狭义定义,在不太严格的情况下,两个概念是一样的。

遥感中的光谱分析技术可以理解为基于电磁辐射与物质相互作用产生的波长与反射强度,即地物波谱特征,而进行物质分析的技术。在这个过程中,如果一种物质A中掺和其他物质B而造成物质A的波谱特征发生变化,可以建立物质A、物质B与波谱特征变化三者之间的关系,这个也是定量遥感中物质反演的一个基本过程之一;在这个过程中另外一个情况,地物波谱特征用图像或者波谱曲线表示,用已知的波谱曲线A和未知的波谱曲线B进行对比分析,从而得出波谱曲线A和B是否一致,或者占多大比重。这个是高光谱遥感中的波谱识别的基本原理。

    因此,从应用角度上看,光谱分析就是定量遥感或高光谱遥感中的图像信息提取技术。可分为遥感反演、地物识别和物质分类,后两个就是波谱识别范畴。

2 遥感反演

    遥感反演就是根据观测信息和模型,求解或推算描述地面实况的应用参数。可以看到遥感反演的基础是描述遥感信号或遥感数据与地表应用之间的关系模型。这种关系模型可以是遥感模型和应用模型,包括统计型和物理型:

  • 统计模型基于陆地表面变量和遥感数据的相关关系,优点在于容易建立并且可以有效概括从局部区域获取的数据,缺点在于模型一般具有地域局限性,也不能解释因果关系;

  • 物理模型遵循遥感系统的物理规律,可以建立因果关系,地域变化时候,也可以方便修改变量,缺点在于模型的建立过程漫长而曲折(梁顺林等)。

   可以看到,遥感反演需要具备多方面的知识,需要理解遥感成像机理、相关地学知识、数学知识等。比较成熟或者用的比较多的反演模型包括:植被生物参数反演模型(氮、叶绿素、水分等),水质参数反演模型(浑浊度、透明度、总悬移质泥沙含量、pH 值、总含氮量等),大气成分(臭氧、二氧化碳、二氧化硫、甲烷等痕量气体,气溶胶等)。应用包括植被盖度监测、作物长势监测、水华监测、大气环境监测等。

    反演涉及的关键部分是模型的构建,在模型构建好之后就是模型中参数的推算。下面以太湖叶绿素反演为例,数据使用环境小卫星的CCD多光谱数据,介绍在ENVI下的操作流程。

9ca3d5ce0b0418bddb81de63724ad328.png 

本例子使用一个比较通用的线性叶绿素反演模型:

Y=ax+b  即

Chla=a*BRED/BNIR+b

    主要技术路线就是利用实地调查的结果,结合影像上对应的像元反射率值,采用最小二乘法回归得到a和b参数,之后将这个模型应用到整个图像中。

一、传感器定标

    直接利用ENVI_HJ1A1B_Tools环境卫星数据读取扩展工具将图像有DN值转成辐射亮度值。(扩展工具下载地址:http://blog.sina.com.cn/s/blog_764b1e9d010195ej.html)

说明:先做传感器定标主要是为了避免在几何精校正过程中进行重采样时候产生一定的误差。

二、几何精校正

    这一步不用多讲了,由于HJ卫星数据提供的2级数据已经做过粗校正,可以选择地形图作为参考选择控制点进行几何精校正。在几何校正重采样输出时候,选择最邻近法(Nearest Neighbor)。

三、大气校正

    这个步骤可以参考:http://blog.sina.com.cn/s/blog_764b1e9d01019emt.html

四、图像裁剪

    用太湖地区的矢量裁剪大气校正结果,得到太湖水面区域影像。

五、样本选择

    这一步需要结合实地调查数据,将水面调查点与BRED/BNIR对应的值在空间上一一对应起来。实地调查数据包括:水面调查点的经纬度、叶绿素含量。以三列形式保存为.txt和Excel文件,以下格式:
     序号  纬度       经度       叶绿素含量(mg/L)

    1  31.516729  120.170916  0.078

    2  31.457287  120.048309 0.025

    3  31.454855  120.174078 0.056

(1) 使用Basic Tool->Bandmath,表达式为float(b3)/b4,计算得到比值图像。

(2) 在display中显示比值图像,选择overlay->Region Of Interest 打开ROI Tool。

(3) 在ROI Tool中,选择ROI_Type->Input Points from ASCII,选择文本格式的实地调查数据。注意参数选择,x:选择经度;y:选择纬度;These point comprise:Individual Points。这样将实地调查的点位置信息加载到图像中

1d2b49394e5fd2d57d32b85bc6cb35c1.png

(4) 在ROI TOOL中,选择File->Out ROIs to ASCII。在输出格式设置面板中(如下图),选择ID、经纬度、和波段像元值(Band Values)。

d421a943bee6655e47edab596711bcde.png
    这样就将水面调查点与BRED/BNIR对应的值导出来了,将BRED/BNIR值导入Excel表中,这样就将实测叶绿素含量值与BRED/BNIR值一一对应上了。

六、模型参数反演

    有了实测的叶绿素含量值与BRED/BNIR值的对应表,使用最小二乘法回归参数a和b。回归公式为:

d1d846e1c2f180fef673466b37d5ca90.png  

    使用Excel的计算功能,很容易得到a=0.060583,b=0.004381

七、叶绿素反演

    有了参数a和b,反演模型可表达为:Chla=0.060583*BRED/BNIR+0.004381,利用bandmath很容易得到一个单波段的反演结果

八、反演结果输出

    在display中,选择Tools->Color Mapping->ENVI Color Tables,让结果以彩色方式显示。

    在打开Overlay->annotation 注记明白,添加Object->Color Ramp,添加一个色带。

108386be55567e59a208fe1b6f329589.png 

3 波谱识别

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

    高光谱图像有这个特性,它除了应用于一般的图像分类,还应用于物质识别、目标探测等。图像分类更多关注的是地物覆盖和物质成分,目标识别和探测是对特定对象的搜索,其结果是“有”或者“没有”。因此我们把高光谱图像分类、物质识别、探测等称为波谱识别。

    如下图是一个波谱识别的典型流程,主要分为端元波谱选择、波谱识别和结果分析。

fd540395dbc31de0ebab529be86b7263.png
图:波谱识别流程

  • 端元波谱选择

    端元波谱这个概念最常见于混合像元分解过程中,端元的物理意义就是指图像中具有相对固定光谱特征的地物类型,也就是图像中只有一种物质的像元。广义上讲,端元波谱就是“分类训练样本”,即应用于波谱识别的标准波谱。

    端元光谱的确定有两种方式:(1) 使用光谱仪在地面或实验室测量到的“参考端元”;(2) 在遥感图像上得到的“图像端元”。方法(1)一般从标准波谱库选择,方法(2)直接从图像上寻找端元,可选择的方法有:从二维散点图中基于几何顶点的端元提取,借助纯净像元指数(Pixel Purity Index——PPI)和n维可视化工具用于端元波谱收集,基于连续最大角凸锥(Sequential Maximum Angle Convex Cone——简称SMACC)的端元自动提取。

    流程图上标识了两种方法——基于PPI的端元提取和从外部源(如波谱库)获取。

    在目标识别中,我们往往是从图上选择一个目标所在区的像元的平均波谱作为目标识别。

  • 识别波谱

    识别波谱可选的方法就很多,常用的是波谱角填图(Spectral Angle Mapper——SAM)。波谱角填图(SAM)使用n-维角度将像元与参照波谱进行匹配。该算法是将像元N个波段的光谱看做N维波谱向量,通过计算与端元波谱之间的夹角判定两个波谱间的相似度,夹角越小,说明越相似。 

79754b99e68a85773370896bed3a3fc8.png
图:波谱角示意图

    有时候端元波谱的波谱分辨率、波段范围与图像不一样大小,就会需要用到波谱重采样,如ENVI中的Spectral -> Spectral Libraries -> Spectral Library Resampling就可以将波谱曲线进行重采样,使得与某一个图像具有相同的波谱分辨率和波段覆盖范围。

  • 结果分析 

    波谱识别的结果就是一个分类结果,栅格或者矢量形式输出。

    这个流程中有一个是MNF变换和维度判断。MNF (Minimum Noise Fraction)最小噪声分离将一幅多波段图像的主要信息集中在前面几个波段中,主要作用是判断图像数据维数、分离数据中的噪声,减少后处理中的计算量。

    MNF也是一种线性变换,本质上是含有两次叠置的主成分分析:

  •  第一次变换是利用主成分中的噪声协方差矩阵,分离和重新调节数据中的噪声(噪声白化——noise whitening)。使变换后的噪声数据只有最小的方差且没有波段间的相关。

  •  第二次变换是对噪声白化数据进行主成分变换。为了进一步进行波谱处理,检查最终特征值和相关图像来判定数据的内在维数。数据空间被分为两部分:一部分是联合大特征值和相对应的特征图像,另一部分与近似相同的特征值和噪声图像。

    在ENVI中提供的工具可以组合完成上述波谱识别过程,其中波谱沙漏工具(Spectral ->Spectral Hourglass Wizard)将上述流程中的每一个步骤集中在一个界面下完成,由于采用向导式操作,这里就不举例子介绍。

4 总结

      可以看到光谱分析是基于光谱信息进行物质反演和识别,也就是波谱特征或者波谱曲线。这与我们常见影像分析方法区别较大,像物质的空间特征、纹理特征、空间关系等属性在光谱分析中不会重点考虑,甚至不作考虑。

63dc9abe5ae2a5c1ce5e5386adf5256d.gif
  • 编辑:Mera

  • 校对:孙雪剑、黄瑶

  • 审定:张立福

053adc2fa26cfa992b75d32fad02c4bf.png

电话:18622044572(黄女士)

邮箱:cas-hytech@cas-hytech.com

官网:http://www.cas-hytech.com/

总部地址:北京市海淀区中关村大街18号8层03-174

分部地址:天津华苑产业区(环外)海泰华科八路6号五层A区509号

305964498857f7fa1a7cdf6ff221e213.png

喜欢本篇内容,就给我们点个“在看”吧 ~

185eee50018eb53446ec93b43bbea554.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Zipkin-1.19.0学习系列1:java范例

2019独角兽企业重金招聘Python工程师标准>>> 官网地址: https://github.com/openzipkin/zipkin http://zipkin.io/ https://www.oschina.net/p/zipkin 截止到2017/1/4为止,最新版本为: Zipkin 1.19 下载地址: https://github.com/openzipkin/zipkin/arc…

PageRank算法

1. PageRank算法概述 PageRank,即网页排名,又称网页级别、Google左側排名或佩奇排名。 是Google创始人拉里佩奇和谢尔盖布林于1997年构建早期的搜索系统原型时提出的链接分析算法,自从Google在商业上获得空前的成功后,该算法也成为其他搜索引…

linux中_在 Linux 桌面中开始使用 Lumina | Linux 中国

本文是 24 天 Linux 桌面特别系列的一部分。Lumina 桌面是让你使用快速、合理的基于 Fluxbox 桌面的捷径,它具有你无法缺少的所有功能。-- Seth Kenlon多年来,有一个名为 PC-BSD 的基于 FreeBSD 的桌面操作系统(OS)。它旨在作为一个常规使用的系统&#…

弹体飞行姿态仿真软件程序代写

题目弹体飞行姿态仿真软件毕业设计的任务和要求(1)掌握查阅参考文献的方法 (2)对弹体飞行运行学模型有所研究 (3)在给定初始俯仰角、加速度、弹体质量等参数的前提下,完成弹体飞行轨迹的绘制及不…

Asp.net中实现同一用户名同时登陆,注销先前用户(转)

Web 项目中经常遇到的问题就是同一用户名多次登陆的问题,相应的解决办法也很多,总结起来不外乎这几种解决办法:将登陆后的用户名放到数据库表中;登陆后的用 户名放到Session中;登陆后的用户名放到Application中&#x…

hdu 2612 Find a way (广搜)

Problem DescriptionPass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year, yifenfei have many people to meet. Especially a good friend Merceki.Yifenfei’s home is at the countryside, but Merceki’s home is in t…

使用Notepad++开发C#,一个复杂点的csscript脚本

使用Notepad开发C#,一个复杂点的csscript脚本: 12345678910111213141516171819//css_dir ....lib;//css_ref Geb.Image.dll;//css_ref Geb.Image.ShapeAnalysis.dll;//css_ref Geb.Utils.dll;//css_ref Geb.Utils.WinForm.dll;//css_co /unsafe; using S…

正则表达式里转义字符_五分钟搞定正则表达式,如果没搞定,再加两分钟

五分钟搞定正则表达式,如果没搞定,再加两分钟【这是 ZY 第 18 篇原创文章】 文章概览一、正则表达式介绍正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE&#xf…

百度富文本编辑器,改变图片上传存储路径

我用的是最新版! 找到以下2个关键文件: YourPath.../Ueditor/php/config.json YourPath.../Ueditor/php/Uploader.class.php config.json找到如下代码: "imagePathFormat": "...(这里不用管)",//找到imagePathFormat所在…

如何手动给Docker容器设置静态IP

2019独角兽企业重金招聘Python工程师标准>>> 要点: 1.首先需要在宿主机上虚拟出来一个真实可用桥接网卡比如br0 2.docker启动的时候默认使用br0进行桥接网络 3.创建docker容器的时候使用--netnone模式 4.手动为每个创建的容器生成静态ip。但是ip每次在重…

获取滚动条宽度代码(记录)

1.创建一个嵌套节点&#xff0c;让外层节点产生滚动条。 2.用offsetWidth - clientWidth 即可获得滚动条宽度。 为了避免页面抖动&#xff0c;可以设置外层元素position:absolute和visibility:hidden 代码如下&#xff1a; 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHT…

的函数原型_JS基础函数、对象和原型、原型链的关系

JS的原型、原型链一直是比较难理解的内容&#xff0c;不少初学者甚至有一定经验的老鸟都不一定能完全说清楚&#xff0c;更多的"很可能"是一知半解&#xff0c;而这部分内容又是JS的核心内容&#xff0c;想要技术进阶的话肯定不能对这个概念一知半解&#xff0c;碰到…

python字符串基本操作

直接上图&#xff1a; ispace()是否为空格 isupper()与islower是否为大写或小写 isdigit是否为数字 isalpha是否为字母 isalnum()是否为字母与数字混合体 startswith()与endswith()判断是否以什么开始&#xff0c;以什么结尾转载于:https://www.cnblogs.com/bestSmile/p/405550…

迁移学习自我学习

最近在看Ng的深度学习教程&#xff0c;看到self-taught learning的时候&#xff0c;对一些概念感到很陌生。作为还清技术债的一个环节&#xff0c;用半个下午的时间简单搜了下几个名词&#xff0c;以后如果会用到的话再深入去看。 监督学习在前一篇博客中讨论过了&#xff0c;这…

堰流实验报告思考题_堰流流量系数测定实验

二、实验操作部分1&#xff0e;实验操作过程(可用图表示)2&#xff0e;实验数据、表格及数据处理3&#xff0e;结论1.实验步骤(1)放水之前&#xff0c;用活动测针测出堰前槽底高程▽低和堰顶高程▽堰顶&#xff0c;堰高P▽堰顶-▽底。(2)关闭首部的泄水阀&#xff0c;打开进水阀…

WCF全双工以及用户名密码验证

WCF是支持TCP双向连接的&#xff0c;支持Server和Client之间互发协议&#xff0c;通过 订阅-发布 的全双工形式实现&#xff0c;全双工的用户名密码验证需要X509证书加密&#xff0c;单工模式的用户名密码验证时&#xff0c;X509证书是可选的。 在全双工模式下&#xff0c;会有…

MTV: Django眼中的MVC

URLconfMTV&#xff1a;Django眼中的MVC MVC是众所周知的模式&#xff0c;即&#xff1a;将应用程序分解成三个组成部分:model(模型),view(视图),和 controller(控制 器)。其中&#xff1a;M 管理应用程序的状态&#xff08;通常存储到数据库中&#xff09;&#xff0c;并约束改…

createbitmap导致的内存泄漏如何处理_C++ 如何避免内存泄漏,一篇就够

前言近年来&#xff0c;讨论 C 的人越来越少了&#xff0c;一方面是由于像 Python&#xff0c;Go 等优秀的语言的流行&#xff0c;另一方面&#xff0c;大家也越来越明白一个道理&#xff0c;并不是所有的场景都必须使用 C 进行开发。Python 可以应付大部分对性能要求不高的场景…

Visio绘制功能分解图

为什么要绘制功能分解图&#xff1f; 对于编程人员来说&#xff0c;具体分配任务的时候&#xff0c;必须知道自己要做什么&#xff0c;必须了解系统的大体框架。功能分解图可以帮助我们理清程序的框架&#xff0c;便于大局观的掌握。 用Visio2010创建功能分解图 1、选择模版 2、…

Heka:Go编写,来自Mozilla,高效、灵活的插件式数据挖掘工具(转)

转自&#xff1a;http://www.csdn.net/article/2013-05-02/2815116-introduce-from-mozilla-heka-go摘要&#xff1a;一直崇尚开源的Mozilla近日释放了Heka测试版——插件架构&#xff0c;Go编写。在支持使用Go扩展功能的同时&#xff0c;还通过允许“Sandboxed Filters”提供了…