利用高分五号02星高光谱数据进行地物识别

news2024/11/25 22:35:18

        高分五号02星搭载了一台60公里幅宽、330谱段、30米分辨率的可见短波红外高光谱相机(AHSI),可见近红外(400~1000nm)和短波红外光谱(1000~2500nm)分辨率分别达到5纳米和10纳米。单看参数性能优越,忍不住想试试利用这个数据进行地物识别。

本文介绍利用光谱分析方法从高分五号02星AHSI的反射率影像(可见近红外VN、短波红外SW组合的330个波段影像)上识别一些地物信息,如云层、农作物等地物信息。在ENVI5.6下(ENVI5.3.1及以上版本类似)操作完成,主要包括坏波段标识、端元波谱获取、光谱分析地物识别步骤。

注:可访问 envi.geoscene.cn/envi_license 获取最新ENVI5.6.3软件试用。

1坏波段标识(选做)

        AHSI反射率影像中有一些波段有一些条带噪声(竖条带或者横条带),主要集中在短波红外SW中,如下图所示,这些条带噪声对识别结果有一定影响,得到的结果也可能存在竖条带或者横条带的类别,如果不影响最终应用可忽略。感兴趣的可以尝试用可见近红外VN波段,”坏波段”会更少一些。

图1:部分波段上的条带噪声

可在ENVI中标注为bad bands不参与光谱分析,这些波段目前没有在官方渠道上公布,可通过波谱曲线辨别,如下图所示,有一个波段值非常高鼠标定位到这个点,从左边就可以获取该波段。定位像素点波谱曲线可通过地物识别结果进行定位。

图2:通过像素点波谱曲线定位“坏波段”

(1)显示AHSI反射率影像的图层上右键选择 View metadata,打开Edit metadata。

(2)切换到Spectral选项,在Bad Bands List点击按钮,按住Ctrl选择需要标识Bad bands的波段。这里选择标识202、263、264、271、274、277、269、320、325、326。

(3)点击Ok完成标识。

注:经过FLAASH大气校正的反射率影像上已经自动标识了一些水汽吸收波段为坏波段,这些波段全是0值或者噪声非常大。

图3:标识Bad Bands

2获取端元波谱

端元波谱实际就是需要识别地物的波谱样本,可以通过很多种方式获取,包括标准波谱库、波谱仪实测、影像上获取等。其中影像获取也有多种方式,最简单的方式就是从影像上选择感兴趣区(ROI),获取感兴趣的平均波谱曲线作为端元波谱,本文采用这种方式。

(1)在ENVI中,打开Roi Tool工具,通过目视解译方式绘制需要识别的地物。

(2)通过目视判读,真彩色合成识别和绘制云层、作物1、作物2和作物3 四类需要识别的地物,数量不用太多,需要准确。

注:在绘制云层时候,按住Ctrl+鼠标左键打开魔术棒,使用魔术棒绘制更便捷。

图4:绘制ROI感性兴趣

(3)打开/Classification/Endmember Collection工具,在文件选择对话框中选择AHSI反射率影像。

注:如果影像有背景,可以在此对话框中生成或使用掩膜文件。

(4)在Endmember Collection面板里,选择Import->from ROI/EVF from input file,选择前面选择的感兴趣区。

(5)在Endmember Collection面板里,点击Plot按钮绘制感兴趣的平均波谱曲线。

这里绘制得到的四种地物波谱曲线,三种作物都是未知类型。为了识别三种未知作物类型,一种方法是参照实际调查结果,另外一种方法是用已知的波谱库去识别,采用的工具为/Spectral/Spectral Analyst。这里没有相应的农作物波谱库文件,不对采集的端元波谱做波谱识别。

图5:Endmember Collection面板和平均波谱曲线

3光谱分析地物识别

光谱分析有很多算法,比较常用的是波谱角制图(Spectral Angle Mapper,SAM)。ENVI中可以直接在Endmember Collection中进行SAM分析,也可以打开Classification/Supervised Classification/Spectral Angle Mapper Classification工具。

Endmember Collection中可以预览,还可以分别为每一类单独设置波谱角阈值。本文直接在Endmember Collection中进行SAM地物识别。

(1)接着上一步打开的Endmember Collection面板,选择Algorithm-> Spectral Angle Mapper。

(2)点击Apply,弹出Spectral Angle Mapper参数面板。

  • Set Maximum Angle:设置最大波谱角阈值(0~1.0),以弧度为单位。这里可以统一设置一个阈值,也可以分别为每一类设置阈值。这里阈值越小,识别精度越高。
  • Output Rule Images:是否输出规则文件。规则文件就是生成波谱角为像素值的图像文件,选择输出可以采用密度分割方式进行分类,也可以作为获取阈值的一个参考。

图6:Spectral Angle Mapper参数面板

(3)点击Previw可以预览识别结果,点击OK进行处理。

结果为分类结果文件,可以进行小斑点去除、结果编辑、精度验证、分类转矢量等后续的处理,本文就不进行进一步的介绍。

4 总结

将识别的结果与AHSI反射率影像叠加显示,得益于330多个波段,通过目视判读识别精度还是挺不错的。

图7:SAM识别结果(局部)

原文链接:https://bbs.csdn.net/forums/gisrs?spm=1001.2014.3001.6682

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

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

相关文章

spring boot使用mybatisplus访问mysql的配置流程

网上教程大多教人新建一个带对应组件的项目,本文记录如何在一个已有springboot2.x项目中,配置使用mybatisplus来访问mysql。包括使用wrapper和自己写mapper.xml的自定义函数两种和数据库交互的方式。 关于项目的创建,参考创建springboot 2.x…

PFMEA的输入输出和特殊特性

DFMEA輸入:技术条件、市场需求 DFMEA輸出:产品特殊特性、试验、样件CPPFMEA輸入:过往经验、流程图、DPMEA PFMEA輸出:CP、过程特殊特性、SIP、SOP1. PFMEA的输入包括:()过程流程图、DFMEA 、图样…

基于springboot+vue的线上教育系统(源码+论文)

目录 前言 一、功能设计 二、功能实现 三、库表设计 四、论文 前言 现在大家的生活方式正在被计算机的发展慢慢改变着,学习方式也逐渐由书本走向荧幕,我认为这并不是不能避免的,但说实话,现在的生活方式与以往相比有太大的改变,人们的娱乐方式不仅仅…

P4513 小白逛公园 习题笔记(线段树维护区间最大连续子段和)

传送门https://www.luogu.com.cn/problem/P4513本文参考了董晓老师的博客 这道题着实想了很长时间(新手),只能想到一个O(mn)的dp普通写法,那么遇上区间修改问题改怎么操作呢。答案很明显,线段树…

微服务day01 -- SpringCloud01 -- (Eureka , Ribbon , Nacos)

介绍微服务 1.认识微服务(p1-p5) 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢? 1.0.学习目标 了解微服务架构的优缺点 1.1.单体架构 单体架构&#…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的稻田虫害检测系统详解(深度学习+Python代码+UI界面+训练数据集)

摘要:本篇文章深入探讨了如何利用深度学习技术开发一个用于检测稻田虫害的系统,并且分享了完整的实现过程和资源代码下载。该系统采用了当前的YOLOv8、YOLOv7、YOLOv6、YOLOv5算法,对其进行了性能对比,包括mAP、F1 Score等关键指标…

redis中通用命令以及key过期策略

通用命令 exists 判断某个key是否存在。 exists key时间复杂度:O(1) 返回值:key 存在的个数。 del 删除指定的 key,可以一次删除一个或者多个。 del key时间复杂度:O(1) 返回值:删除掉的 key 的个数。 expire…

根据索引策略对elasticsearch中的索引进行管理(附带图文教程)

前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 一. 索引生命周期简介 想要了解更多可以看 : 索引生命周期 1.1 索引生命周期五种阶段 (1)Hot…

C++开发基础——类模板

一,基础定义 类模板是用来生成类的蓝图,是一种创建类的方式,同一套类模板可以生成很多种不同的类。 编译器基于类模板生成的每个类被称为类模板的实例。 第一次使用模板类型声明变量时,会创建类模板的一个实例, 以后…

YOLOv5改进 | 注意力篇 | 利用YOLO-Face提出的SEAM注意力机制优化物体遮挡检测(附代码 + 修改教程)

一、本文介绍 本文给大家带来的改进机制是由YOLO-Face提出能够改善物体遮挡检测的注意力机制SEAM,SEAM(Spatially Enhanced Attention Module)注意力网络模块旨在补偿被遮挡面部的响应损失,通过增强未遮挡面部的响应来实现这一目…

el-Switch 开关二次确认

前言 最近在做毕设,有个需求是点击按钮控制用户的状态是否禁用,就看到element有个switch组件可以改造一下,就上网看了一下,结果为了这个效果忙活了很久。。。所以说记录一下,让大家少踩坑。 前置条件 先看完我的需求再…

Eclipse安装springboot

Eclipse免费,套件丰富,代码开源,功能强大…推荐! 1 下载eclipse: https://www.eclipse.org/downloads/download.php?file/technology/epp/downloads/release/2023-12/R/eclipse-jee-2023-12-R-win32-x86_64.zip 2 安装Spring框…

图论(蓝桥杯 C++ 题目 代码 注解)

目录 迪杰斯特拉模板(用来求一个点出发到其它点的最短距离): 克鲁斯卡尔模板(用来求最小生成树): 题目一(蓝桥王国): 题目二(随机数据下的最短路径&#…

Hadoop学习2:完全分布集群搭建

文章目录 Fully-Distributed Operation(完全分布模式) 重点机器环境同步集群规划配置文件修改以及同步步骤0:下面其他步骤涉及修改配置以这里为准(要不然部署使用过程会有很多问题)通用配置(三台节点机器&a…

社交革命的引领者:探索Facebook如何改变我们的生活方式

1.数字社交的兴起 随着互联网的普及,社交媒体成为我们日常生活的重要组成部分。Facebook作为其中的先驱,从最初的社交网络演变成了一个拥有数十亿用户的全球化平台。它不仅改变了我们与世界互动的方式,还深刻影响了我们的社交习惯、人际关系以…

华为机考:HJ102 字符统计

华为机考&#xff1a;HJ102 字符统计 描述 方法1 先将所有字符计算数量&#xff0c;在对比其中字符的assic码 #include<iostream> #include<vector> #include<algorithm> #include<string> using namespace std; bool cmp(pair<char, int> a,…

C++ std::list的merge()使用与分析

看到《C标准库第2版》对list::merge()的相关介绍&#xff0c;令我有点迷糊&#xff0c;特意敲代码验了一下不同情况的调用结果。 《C标准库第2版》对list::merge()的相关介绍 list::merge()定义 merge()的作用就是将两个list合并在一起&#xff0c;函数有2个版本&#xff1a;…

数字图像处理-空间滤波

空间滤波 空域滤波基础 – 离散卷积的边缘效应 平滑空间滤波器 # -*- coding: utf-8 -*- # Author: Huazhong Yang # Email: cjdxyhz163.com # Time : 2024/3/7 20:26import cv2 import numpy as np# 读取图像 image cv2.imread(a1.png)# 应用高斯滤波 # 第二个参数是高斯…

微信小程序开发系列(三十)·小程序本地存储API·同步和异步的区别

目录 1. 同步API 1.1 getStorageSync存储API 1.2 removeStorageSync获取数据API 1.3 removeStorageSync删除 1.4 clearStorageSync清空 2. 异步API 2.1 setStorage存储API 2.2 getStorage获取数据API 2.3 removeStorage删除API 2.4 clearStorage清空 3. …

qt vs 编程 字符编码 程序从源码到编译到显示过程中存在的字符编码

理解字符编码&#xff0c;请参考&#xff1a;unicode ucs2 utf16 utf8 ansi GBK GB2312 CSDN博客 汉字&#xff08;或者说多字节字符&#xff09;的存放需求&#xff0c;是计算机中各种编码问题的最直接原因。如果程序不直接使用汉字&#xff0c;或间接在所有操作步骤中统一使…