ENVI操作:GF2影像全色与多光谱融合

news2024/12/23 8:05:36

1、插件下载安装

1.1、插件下载

ENVI 处理 GF2影像需利用特定的 App 插件进行处理;进入下述官方网站,点击 下载 即可;仅支持 ENVI 5.3.1 以上版本的软件;

下载地址:https://envi.geoscene.cn/appstore/ 

1.2、属性设置

进入 ENVI 安装路径 Exelis,右键点击 属性->安全,

在弹出的文件夹属性页菜单,点击 Users->编辑;弹出 Exelis 的权限菜单,点击 Users->允许 完全控制,确定 即可;

1.3、插件安装

将下载的压缩包解压到 ENVI 的安装路径下:\Exelis\ENVI53\extensions ,如下图所示;

打开 ENVI 软件,在右侧 Toolbox 中可看到菜单中新增了 App Store;

1.4、插件配置

双击 App Store 菜单下的 App Store,弹出如下图所示的菜单项,选择 中国国产卫星支持工具V5.3,点击右侧 安装,即可;(图示已安装,安装 位置变成了 卸载)

重启 ENVI 软件,在 Toolbox 菜单栏最下边可看到 Extensions 内容,其中有 China Satellites Support,说明安装成功;

2、影像导入

点击 File->Open As->China Satellites->GF2,在弹出的选项框中选择要导入的 GF2 影像的 xml 文件,即可完成数据导入,导入的影像数据如下图所示:

其中,MSS1.xml 为低分辨率的多光谱数据;PAN1.xml为高分辨率的全色波段数据;

3、多光谱数据处理

3.1、辐射定标

在 Toolbox 菜单中双击打开 Radiometric Calibration 工具,弹出如下图所示的菜单栏,选择要定标的高光谱影像,点击 OK;

弹出如下图所示的 Radiometric Calibration 对话框,设置参数如下,选择输出文件名,OK;

  • Calibration Type: Radiance;

  • Output Interleave: BIL;

  • 单击 Apply FLAASH Settings,以适应后续的大气校正参数,此时上述的 Scale Factor 参数自动设置为 0.10;

3.2、大气校正

在 Toolbox 菜单中双击打开 FLAASH Atmospheric Correction 工具,弹出如下图所示的菜单:

3.2.1、待校正影像导入

点击 Input Radiance Image,弹出如下图所示的对话框,选择上一步得到的辐射定标后的数据,点击OK,弹出如下图所示的 Radiance Scale Factors 属性页,点击 Use single scale factor for all bands;

在 FLAASH Atmospheric Correction 属性页中,会自动填充 输出文件与FLAASH文件的存储位置,可进行自定义修改,如下图所示:

注:此处设置的输出路径均为文件夹,如设置具体的后缀文件,可能会报错

3.2.2、设置中心经纬度

导入待校正影像之后,系统会自动导入 中心经纬度 数据,如下图所示:

3.2.3、设置传感器信息

点击选择 Sensor Type,弹出的两类传感器中点击 Multispectral->ISR LISSI,传感器高度、像元大小会自动识别,如下图所示:

3.2.4、设置影像成像时间

在 Layer Manager 对话框中,右键单击多光谱数据,在弹出的菜单栏中点击 View Metadata;弹出如下图所示的对话框,点击 Time,即可得到影像的成像时间,如下图所示:

依此设置 FLAASH Atmospheric Correction 属性页中的成像时间即可,如下图所示:

3.2.5、设置大气模型

点击 FLAASH Atmospheric Correction 属性页左下角的 Help,弹出 Help 网页材料,其中描述了大气模型与后续气溶胶模型的选择依据,如下图所示:可依据温度、纬度、成像月份来选择对应的大气模型;

本次实验选择 SAS 模型,其他参数默认,设置如下图:

3.2.6、设置气溶胶模型

在 Help 页面上,气深胶模型与反演方法的选择如下图所示:

本次实验选择参数如下图:

3.2.7、Multispectral Settings

点击 Multispectral Settings,弹出如下图所示的对话框;

点击 Kaufman-Tanre Aerosol Retrieval,设置 KT Upper Channel 为 Band4,KT Lower Channel 为 Band1,其余参数为默认参数,如下图所示:

3.2.8、Advanced Settings

点击 Multispectral Settings,采用默认参数即可;

点击 Apply,进行大气校正,弹出如下图所示的运行过程:

运行完成后,自动弹出大气校正的结果,如下图所示:

3.3、正射校正

在 Toolbox 菜单中双击打开 RPC Orthorectification Workflow 工具,在弹出的对话框中,选择上述大气校正的多光谱数据,DEM数据默认,点击 Next :在弹出的 RPC Orthorectification 属性框中,点击 Advanced,将 Image Resampling 设置为 Cubic Convolution,其余参数默认,如下图所示:

点击 Export,设置输出文件格式与文件路径,Finish 即可;

4、全色波段数据处理

4.1、辐射定标

同多光谱数据处理类似,选择要定标的全色波段影像,如下图所示:

弹出下图的 Radiometric Calibration 对话框,设置参数如下,选择输出文件名,OK;

  • Calibration Type: Reflectance,全色影像定标为大气表观反射率;

  • Output Interleave: BIL;

  • Output Data Type: Uint;

  • Scale Factor: 10000;由于多光谱FLAASH大气校正的结果为扩大了10000倍的反射率数据,为了让融合图像效果好,需要将全色数据与多光谱数据的像元值变成一致。这里使用辐射定标工具将全色数据定标为大气表观反射率,并扩大10000倍。

4.2、正射校正

同多光谱数据处理类似,选择要校正的全色波段影像,如下图所示;同多光谱数据类似,采样方式也设置为 Cubic Convolution,设置 输出文件与文件位置,即可;

5、波段融合

5.1、几何校正

注:目前大多数高分辨率数据经正射校正后的多光谱和全色数据配准的均比较好,该步骤可以省略;

在 Toolbox 菜单中双击打开 Image Registration Workflow 工具,弹出如下图所示的对话框,导入待配准的两影像:其中 Base Image 为正射校正后的全色数据;Warp Image 为正射校正后的多光谱数据;点击 Next;

弹出如下图所示的 Image Registration 对话框,暂时使用默认参数即可;点击 Next 即可;

弹出如下图所示的 View and Wrap 对话框,点击 Tie Points,显示出系统自动识别的特征点的数量,如下图所示:

点击 Wraping,设置 Resampling 方式为 Cubic Convolution,点击 Next 即可;

运行结束,弹出如下图所示的对话框,选择输出文件格式与文件位置,点击 Finish 即可;

5.2、波段图像融合

在 Toolbox 菜单中双击打开 NNDiffuse Pan Sharpening 工具,弹出如下图所示的对话框,选择待融合的两影像(上述两步骤得到的经过几何校正或正射校正后的影像),选择输出文件路径,即可;

其中 Low Resolution Raster 为经几何校正或正射校正后的多光谱影像;High Resolution Raster 为经正射校正后的全色波段影像;

融合后的影像格式为 dat 格式,如下图所示,可根据需要将其转换为 tif 数据;

6、修改背景值

关闭融合后的影像,右键单击该影像的 hdr 参数文件,如下图所示,增加一行 data ignore value = 0,保存即可;

再次打开影像,其周围的黑色背景消失,如下图所示:

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

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

相关文章

VS2022配置和搭建QT

一、下载QT 可以去QT官网下载:https://www.qt.io/product/development-tools。 直接安装。 二、安装qt插件 直接在vs插件市场搜索就行。 安装的时候根据提示,关闭vs自动安装 再次进去vs提示你选择qt版本,psth里边找到安装版本的qmake.exe就行 配…

11.盛最多水的容器 C++

一开始我最先想到的是暴力解法,就是两个循环嵌套依次遍历,所有情况都过一遍找出最大值,这样示例的结果虽然是正确的,但是超时。所以暴力解法行不通,双指针思考才是正道,双指针一般都是一边一个,…

裸金属服务器是什么

自推出裸金属服务器以来,它一直断断续续地出现在我们面前。最近,关于裸金属服务器、什么是裸金属服务器、裸金属服务器可以做什么、数据托架共享的讨论越来越多: 裸金属服务器(bare metal server,BMS)的官…

数据库——实 验 8 SQL 编程

1.T-SQL 语言简介 SQL Server 使用的语言称作 Transact-SQL, 它不仅包括基本 SQL 操作的内容,如 SQL 的数据查询功能和数据操作功能等,还有一般程序设计的能力。 2. 局部变量和全局变量的概念 1)局部变量 局部变量是一个能够拥有特定数据类型的对…

掌握Linux Shell脚本函数:提高脚本效率与可维护性

目录标题 1、什么是Shell函数?2、如何定义Shell函数?3、Shell函数参数4、返回值5、实例:使用函数进行文件备份6、为什么使用函数?7、最佳实践 在编写Linux shell脚本时,函数是组织和重用代码的重要手段。本文将介绍如何…

python getsize如何使用

第一步,点击键盘 winr,打开运行窗口;在窗口中输入“cmd",点击确定,打开windows命令行窗口。 第二步,在windows命令行窗口中,输入“python”,进入python交互窗口。 第三步&#…

C++ —— 继承

什么是继承? 继承是指一种代码可以被复用的机制,在一个类的基础上进行扩展,产生的新类叫做派生类,被继承的类叫基类。(也可称为子类和父类) 继承的写法: class B : 继承方式 A (…

Laravel 6 - 第十三章 请求

​ 文章目录 Laravel 6 - 第一章 简介 Laravel 6 - 第二章 项目搭建 Laravel 6 - 第三章 文件夹结构 Laravel 6 - 第四章 生命周期 Laravel 6 - 第五章 控制反转和依赖注入 Laravel 6 - 第六章 服务容器 Laravel 6 - 第七章 服务提供者 Laravel 6 - 第八章 门面 Laravel 6 - …

SpringBoot引入第三方jar包或本地jar包

idea2018创建spring boot项目 New Project窗口选择Spring Initializr Type选择Maven(Generate…),有两个Maven选择这一个。 勾选Spring Web。 pom.xml中version改成2.5.10。 在resources中新建jar目录,将第三方jar包fastjson2-2.0.47.jar放入其中。&#xff08…

【C++】日期计算机

个人主页:救赎小恶魔 欢迎大家来到小恶魔频道 好久不见,甚是想念 今天我们要讲述的是一个日期类计算机的代码实现 引言: 我们日常生活中可能会有一个烦恼。 今天几月几号?过n天后又是几月几号?某年某月某天和x年…

Python读写文本URL蓝牙WIFI自动连接电子名片位置坐标智能海报等NDEF标签

本示例使用的发卡器:https://item.taobao.com/item.htm?id615391857885&spma1z10.5-c.w4002-21818769070.11.60ad789erlonvk 近场通信(Near Field Communication,简称NFC),是一种新兴的技术&…

实验:使用apache + yum实现自制yum仓库

实验准备 Web服务器端:cenos-1(IP:10.9.25.33) 客户端:centos-2 保证两台机器网络畅通,原yum仓库可用,关闭防火墙和selinux Web服务器端 ①安装httpd并运行,设置开机自启动 安装…

【人工智能基础】人工神经网络

一、人工神经网络的三要素 人工神经元数理模型 MP模型是世界上第一个神经计算模型,为神经网络理论提供了基础 MP模型功能 对树突输入u的线性加权求和对净输入的非线性转换\ 作用函数的功能作用函数的功能 MP神经元模型的作用函数是单位阶跃函数。当x≥0时f(x)…

实现Node.js安装与配置。

一 、Node.js简介 Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,用于构建高性能、可扩展的网络应用程序。它发布于2009年5月,由Ryan Dahl开发,允许使用JavaScript进行服务器端编程,使开发者能够在前后端都使用同一种编程…

ASP.NET教务平台—学籍管理模块开发与设计

摘 要 教务平台之学籍管理模块是一个典型的教务信息管理系统(MIS),其开发主要包括后台数据库的建立和前端应用程序的开发两个方面。对于后台数据库要求实现数据的完整性、一致性和安全性;对于前台应用程序开发则要求模块功能完备、界面友好、易使用等特…

进程状态和优先级(进程第2篇)【Linux复习篇】

目录 一、进程状态 1、进程有什么状态? 2、 Linux下的进程状态有什么? 二、进程优先级 1、进程优先级是什么? 2、为什么要有优先级 3、怎么改进程优先级?要改吗? 4、操作系统如何根据优先级开展调度的&#xff…

Spring MVC和Spring Boot

上节已经提到过请求,这次梳理响应。 响应 响应基本上都要被Controller所托管,告诉Spring帮我们管理这个代码,我们在后面需要访问时,才可以进行访问,否则将会报错。并且其是由RestController分离出来的,Re…

【MCU】栈溢出问题

项目场景: 硬件:STM32F407,操作系统:rt_thread master分支 问题描述 问题栈溢出 id 499 ide 00 rtr 00 len 8 9 Function[rt_completion_wait] shall not be used in ISR (0) assertion failed at function:rt_completion_wait,…

MATLAB实现蚁群算法栅格路径优化

蚁群算法是一种模拟自然界中蚂蚁觅食行为的优化算法,常用于解决路径规划问题。在栅格路径优化中,蚁群算法可以帮助找到从起点到终点的最优路径。以下是蚁群算法栅格路径优化的基本流程步骤: 初始化参数: (1)设置蚂蚁数量&#xff…

【错题集-编程题】数组中的最长连续子序列(排序 + 模拟)

牛客对应链接:数组中的最长连续子序列_牛客题霸_牛客网 (nowcoder.com) 一、分析题目 排序 模拟。 注意:值连续,位置可以不连续!小心处理数字相同的情况。 二、代码 //值得学习的代码 class Solution { public:int MLS(vecto…