当前位置: 首页 > news >正文

ENVI 国产高分2号(GF-2)卫星数据辐射定标 大气校正 影像融合

1.数据

高分2号卫星数据,包含:

MSS-1\2多光谱数据,4m分辨率;

Pan-1\2全色波段数据,0.8m分辨率。

 2.处理软件

ENVI5.3 

国产插件下载地址:ENVI App Store (geoscene.cn)

 首先下载插件文件;

找到ENVI5.3安装路径,C:\Program Files\Exelis  

 设置Exelis文件夹用户权限,鼠标右键,属性-安全

点击编辑按钮,设置完全控制权限 。

 解压下载到的插件文件,将ENVI_App_Store.sav问及那复制到C:\Program Files\Exelis\ENVI53\extensions路径下。

 重新打开ENVI软件,可以看到在工具箱中多了APP Store 工具,如下图:

点击App Store,弹出下载窗口,可以直接安装‘中国国产卫星支持工具V5.3 ,这里已经下载了,所以显示卸载。

 重现打开软件,在Extention中可以看到如下工具,这就安装成功了:

 3.GF2-辐射定标和大气校正

 3.1 辐射定标

打开数据,采用xml头文件方式打开

 分别选择多光谱和全色波段的xml头文件打开影像数据。

打开Radiometric Calibration工具:

选择多光谱数据

设置BIL格式,

 计算报错:

这是因为文件输出路径中包含中文字符,我们重新设置输出文件路径,不包含中文字符重新计算,顺利得到计算结果,输出格式后缀为dat文件。

 相同的计算全色波段(全色波段不做大气校正)

3.2 大气校正

大气校正过程总的来说比较复杂,因为涉及的参数众多,一个小错误就会导致计算失败,接下来就详细介绍大气校正的过程,并对计算过程中碰到的问题进行解决处理。

选择上一步中计算得到的Radiance数据,Sigle Scale factor设置为1.设置为10000时,发现输出结果为黑板。

 这里传感器信息没有加入到列表中,我们就手动设置了。GF-2传感器高度631km,地面高程计算影像区域的平均高程,也可以大概估计一个值。

打开数据获取时间信息

 相关参数设置如下:

 MultySpectral Setting设置如下:

Advanced Setting设置如下(默认):

 报错:

 找个报错是因为没有光谱相应函数所致。

我们在主页面不选择传感器的时候,这里就没有默认的光谱响应函数参数文件(sli文件)

 比如我们选择gf-1传感器的时候就会出现以下的函数。

我们打开这个文件路劲即可看到文件夹下面有很多光谱相应函数文件,hdr和sli两种后缀格式。

 部分高分数据光谱响应函数下载地址:光谱响应函数

 我们下载高分1和高分2的光谱响应函数,这里是xls格式的数据。不能直接使用,查看帮助后,发现我们在安装国产插件后,就已将安装好相关的sli文件了,这些文件在C:\Program Files\Exelis\ENVI53\resource\filterfuncs路径下。

具体可以参考:ENVI-IDL技术殿堂https://www.cnblogs.com/enviidl/p/16331270.html

 接下来我们就打开这个文件,点击Filter Function File按钮,弹出窗口中点击OPEN下拉菜单中的NewFile,找到高分2的光谱响应文件gf2_pms2_mss.sli

 

点击OK.

 这样就设置好了,Index to first band设置为1会报以下错误,设置为0不报错.

 再次运行大气校正,继续报错:

这个错误可以参考:https://www.cnblogs.com/enviidl/p/16261538.html

 主要是因为影像波段数量、中心波长与相应传感器的波谱响应函数文件不匹配。比如modis数据做MCTK处理时勾选了别的波段数据集,造成大气校正时与MODIS传感器波谱响应函数文件不匹配报错。

 检查了一下我的数据,发现前面使用的数据是PMS1 MSS-1传感器的,后面选的PMS2 MSS-2的响应函数,我们重新选择一下。

重新运行一下就卡住了,等了一会就开始计算了。

 

 等待计算完成。

最终顺利计算完成了。 

4.多光谱和全色波段融合

4.1 ENVI影像融合工具

ENVI中融合影像的方法也有多种,比如:Gram-Schmidt Pan Sharpening、NNDiffuse Pan Sharpening、SPEAR Pan Sharpening等,这里我们就选择NNDiffuse方法做一下试验看下效果。

影像融合相关链接:
ENVI中的NNDiffuse融合方法https://www.cnblogs.com/enviidl/p/16374607.html

NNDiffuse图像融合效果提升方法https://www.cnblogs.com/enviidl/p/16553261.html

 这里的输出数据分别选择大气校正后的多光谱数据和辐射定标后的全色波段数据。

 

计算所需时间比较长,我们耐心等待。最终因为我使用tif格式报错了,还是使用改工具默认的dat格式重新输出数据。输出结果后我们再将dat格式数据另存为GEOTIFF格式,以便于其他软件的分析和应用。

原图和融合图对比 (上原图,下融合图)

4.2 Arcgis影像融合工具

Arcgis影像融合工具是:        DataManagement--Raster--Raster Processing--CreatePansharpenedRasterDataset

该工具中有多种融合方法,包括:

Pan-sharpening Type

The pan-sharpening method:

  • IHS—Uses Intensity, Hue, and Saturation color space for data fusion.
  • BROVEY—Uses the Brovey algorithm based on spectral modeling for data fusion.
  • Esri—Uses the ESRI algorithm based on spectral modeling for data fusion.
  • SIMPLE_MEAN—Uses the averaged value between the red, green, and blue values and the panchromatic pixel value.
  • Gram-Schmidt—Uses the Gram-Schmidt spectral-sharpening algorithm to sharpen multispectral data.

在以上窗口中,这是输入的多光谱和全色波段,设置输出文件,选择合适的融合方法即可获取到融合后的遥感图像,不同的融合方法,融合后的效果不一样。 我们使用ENVI中计算的结果测试一下是否能计算出结果。点击OK后,开始计算……

Arcgis和ENVI效果对比,上图Arcgis-Esri方法,下图ENVI NNDiffuse方法

 可以看到,ENVI的效果较好,至此,本文完毕!希望对GISer和RSer有所帮助!

相关文章:

ENVI 国产高分2号(GF-2)卫星数据辐射定标 大气校正 影像融合

1.数据 高分2号卫星数据,包含: MSS-1\2多光谱数据,4m分辨率; Pan-1\2全色波段数据,0.8m分辨率。 2.处理软件 ENVI5.3 国产插件下载地址:ENVI App Store (geoscene.cn) 首先下载插件文件; …...

操作系统考试复习——第二章 进程控制 同步与互斥

进程控制一般是由OS中的原语来实现的。 大多数OS内核都包含了两大方面的功能: 1.支撑功能:1)中断处理 2)时钟管理 3)原语操作(原语操作就是原子操作。所谓原子操作就是一个操作中所有动作要不全做要不全不做) 2.资源管理功能:1)进程管理…...

mac gitstats查看git提交记录

一、介绍: 进一步来讲,Gitstats它是一个git仓库分析软件,它可以检查仓库并生成历史数据的统计信息。可以帮助你查看git仓库的提交状态,根据不同维度分析计算,并自动生成数据图表。 官网介绍:http://gitst…...

电脑系统错误怎么办?您可以看看这5个方法!

案例:电脑出现系统错误该如何解决? 【这几天长时间使用我的电脑,导致它的系统出现了错误。有没有小伙伴知道如何解决电脑系统出错的问题?求一个能快速解决的方法。】 电脑系统出现错误是使用电脑时难免会遇到的问题之一&#xf…...

九款顶级AI工具推荐

ChatGPT OpenAI开发的最强对话系统 地址:chat.openai.com ChatGPT能够在同一个会话期间内回答上下文相关的后续问题。其在短时间内引爆全球的原因在于,在网友们晒出的截图中,ChatGPT不仅能流畅地与用户对话,甚至能写诗、撰文、编…...

StringRedisTemplate-基本使用

StringRedisTemplate继承自RedisTemplate,在这里说明一下,当我们使用RedisTemplate往redis中存储java对象的时候,他会顺带着将该java对象的字节码文件也同时存进了内存中,这是为了实现自动反序列化Autowired private StringRedisTemplate red…...

ansible自动运维——ansible使用临时命令通过模块来执行任务

大家好,这里是天亮之前ict,本人网络工程大三在读小学生,拥有锐捷的ie和红帽的ce认证。每天更新一个linux进阶的小知识,希望能提高自己的技术的同时,也可以帮助到大家 另外其它专栏请关注: 锐捷数通实验&…...

python 之数据类型(四)

1、字符串(String) 使用双引号或者单引号中的数据,就是字符串 注:python中使用三引号时允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其它特殊符号 a a c g print(a)运行结果: a c g1、下标 …...

洛谷P1345 无向图最小割点数

题意: 给出一副有 n n n个点, m m m条边的无向图,求出这副图的最小割点数 题意: 首先对于有向图,求他的最小割边,只需要令每条边的容量为 1 1 1,求出起点到终点的最大流就是最小割边数了。 容…...

适合程序员阅读的有用书籍:

几本适合程序员阅读的有用书籍: 1.《计算机程序设计艺术》(The Art of Computer Programming)是由Donald E. Knuth撰写的一系列著作,是计算机科学领域的经典之作。该系列著作共分为三卷,分别介绍了算法和计算机程序设计的基础知识和技巧。 …...

MySQL: 自动添加约束、更改(删除)表名和字段、删除表

目录 自动添加表的属性: 向表内插入数据: 查看表中的数据: 查看表结构: 查看表的详细结构: 更改表名和字段: 更改表名: 更改字段数据类型: 修改字段名: 添加字段…...

基于微博评论的细粒度的虚假信息识别软件

任务 目标:能检测单模态的虚假信息就可以,是个软件就可以 参考文章:基于多模态深度融合的虚假信息检测 Multi-modal deep fusion for false information detection 思路 多模态指的是多种不同类型的数据,比如图像、文本、音频等。虚假信息识别软件可以从这些不同类型的数据…...

Android 11.0 系统systemui状态栏下拉左滑显示通知栏右滑显示控制中心模块的流程分析

1.前言 在android11.0的系统rom定制化开发中,在系统原生systemui进行自定义下拉状态栏布局的定制的时候,需要在systemui下拉状态栏下滑的时候,根据下滑坐标来 判断当前是滑出通知栏还是滑出控制中心模块,所以就需要根据屏幕宽度,来区分x坐标值为多少是左滑出通知栏或者右…...

ROS学习第三十二节——xacro构建激光雷达小车

https://download.csdn.net/download/qq_45685327/87718396 在前面小车底盘基础之上&#xff0c;添加摄像头和雷达传感器。 0.底盘实现 deamo02_base.xacro <!--使用 xacro 优化 URDF 版的小车底盘实现&#xff1a;实现思路:1.将一些常量、变量封装为 xacro:property比如…...

中厂,面试就问了4道题,凉了!

你好&#xff0c;我是田哥 所谓的金三银四&#xff0c;已变成铜三铁四了。很多人基本上莫有面试机会&#xff0c;更可惜的是机会有了&#xff0c;却没有把握住。 加入我知识星球&#xff1a;免费做简历优化、简历包装、模拟面试... 今天早上&#xff0c;一个朋友和我说面试中被…...

22.轮播模块

学习要点&#xff1a; 1.轮播模块 本节课我们来开始了解 Layui 的内置模块&#xff1a;轮播模块。 一&#xff0e;轮播模块 1. 轮播模块&#xff0c;即跑马灯等轮播交互场景&#xff0c;先来看下基本设置&#xff1b; <div id"test" class"layui-carousel&qu…...

MYSQL命令小总结

一、创建查看 1.输入cmd&#xff0c;打开控制器&#xff0c;输入如下&#xff0c;打开MYSQL C:\Users\ASUS> mysql -u root -p 2.查看已有数据库 mysql> show databases; 3.建立数据库 4.使用数据库 use englishword;5.建立表单 CREATE TABLE user ( id INT primar…...

Java常见开发工具和Object类

Java是一种面向对象的编程语言&#xff0c;被广泛应用于各种应用程序和软件开发中。在Java开发过程中&#xff0c;使用一个好的开发工具可以大大提高开发效率和代码质量。Eclipse是一个功能强大、灵活易用的Java集成开发环境&#xff08;IDE&#xff09;&#xff0c;被广泛使用…...

Linux 配置YUM源(FTP方式获取软件源、使用阿里云yum源、同时使用本地源与在线源)YUM获取安装包并生成YUM软件仓库

YUM介绍 YUM&#xff08;yellow dog updater modified&#xff09; 基于RPM包构建的软件更新机制 自动解决依赖关系 yum软件仓库集中管理软件包 RPM软件包的来源 centos发布的RPM包集合第三方组织发布的RPM包集合用户自定义的RPM包集合 软件仓库的提供方式 FTP服务&#xff1a;…...

Java版工程行业管理系统源码-专业的工程管理软件-提供一站式服务

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下&#xff1a; 首页 工作台&#xff1a;待办工作、消息通知、预警信息&#xff0c;点击可进入相应的列表 项目进度图表&#xff1a;选择&#xff08;总体或单个&#xff09;项目显示…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

【JVM】- 内存结构

引言 JVM&#xff1a;Java Virtual Machine 定义&#xff1a;Java虚拟机&#xff0c;Java二进制字节码的运行环境好处&#xff1a; 一次编写&#xff0c;到处运行自动内存管理&#xff0c;垃圾回收的功能数组下标越界检查&#xff08;会抛异常&#xff0c;不会覆盖到其他代码…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...