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

envi5.3处理高分二号影像数据辐射定标大气校正

目录

一、多光谱影像处理

1. 辐射定标

 2.大气校正

1. 需要准备一些数据:

2.大气校正过程

3、正射校正

二、全色影像处理

1. 辐射定标

 2. 正射校正

三、图像融合

1.几何配准

2.图像融合


高分二号处理流程 


envi5.3的安装教程:

ENVI5.3安装

        安装完ENVI5.3后,还需要安装envi app store,然后在app store中安装“中国国产卫星支持工具”,这样才能在envi里导入国产卫星图像。

保姆级教程:

ENVI插件商店App Store的下载、安装、使用方法


全文根据此篇文章进行数据处理:

tm影像辐射定标_高分二号影像数据预处理及裁剪过程

本文中的操作与表述大部分来自于上述文章,处理过程作为上述文章的补充。


其他参考:

学习笔记---遥感影像辐射定标与大气校正

利用ENVI自带全球DEM数据计算区域平均高程

高分二号数据处理流程(有高分二号的数据信息)


打开.tif文件的方法(本文打开的都是.xml文件)

启动ENVI5.3,在菜单栏中,选择File > Open,弹出Open对话框,找到GF2数据⽂件夹所在位置,选中扩展名为.tiff的两个⽂件,点击打开。



GF2有多光谱和全色两个数据,MSS是多光谱的,PAN是全色的,多光谱的分辨率低(4m),全色的高(1m),需要把这两个数据融合,融合之前需要做定标等处理,获取经纬度。


一、多光谱影像处理

1. 辐射定标

以这个为例:

其他路径\2022.4.22\BaoTaQu\BaoTaQu_2022_DiZai\GF2_PMS1_E109.6_N36.2_20220214_L1A0006288992\GF2_PMS1_E109.6_N36.2_20220214_L1A0006288992-MSS1.xml

注意:路径中不要有中文,可能会报错(我的就报错了,无法生成.dat)

本文是以MSS1.xml为例,若为MSS2.xml,则和MSS相关的都将1替换成2即可

打开ENVI,使用国产卫星扩展工具打开MSS影像,启动File→Open As→China Satellites→GF2,选择MSS.xml文件打开;

在Toolbox中,Radiometric Correction→Radiometric Calibration,在File Selection中选择待处理影像,点击OK;

 弹出Radiometric Calibration对话框,Calibration type确认为Radiance,单击Apply FLAASH Setting,设置输出路径与文件名(这里需要创建一个output文件夹,用于存放生成的数据文件,output/MSS1_Radiometric.dat),点击OK开始执行;

(1)辐射定标前和辐射标定后的波普廓线

(2)辐射定标前和辐射标定后的直观图像

 2.大气校正

1. 需要准备一些数据:

(1)GF2的Sensor Altitude是631.000

(2)Ground Elevation平均高程需要对具体的图像进行计算。

平均高程计算过程:

File -->  Open World Data -->  Elevation(GMTED2010)(海拔)

得到 .jp2 图像

把要计算的.tif文件放在.jp2文件上面

可以看到tif图像在jp2图像的上方,如下图所示

选择ROI区域工具,画点(此区域用四个点即可)圈出tif图像区域。

 点击右键,选择第一个选项“完成和接受多边形”

 创建好区域,计算高程

得到1241m,则Ground Elevation=1241/1000=1.241km

也可以根据百度中查到的,海拔高度860.6~1525米,平均1193米,也可以按这个来,最好是计算。

注:计算完成后,可以将 .jp2图像remove掉,不然在导入生成好的大气校正图像时会提示 “···one or more····”这样的提示,不得不创建一个新的view。


2.大气校正过程

在Toolbox中,双击Radiometric Correction→Atmospheric Correction Module→FLAASH Atmospheric Correction工具启动FLAASH模块;

 参数解释

 (1) 设置输入与输出文件信息:

Input Radiance Image:输入辐射定标之后的数据,MSS1_Radiometric.dat;

Output Reflectance File:单击按钮选择反射率数据输出目录与文件名(output/MSS1_FLAASH.dat)如果只在后面的文本框中输入文件名,则保存路径将为Output Directory for FLAASH Files中的路径;

 Output Directory for FLAASH Files:设置大气校正其他结果输出路径 output文件夹;

Rootname for FLAASH Files:设置大气校正其他输出结果的根文件名(这个我没设置)
 

(2) 设置传感器及图像信息:

ENVI5.3及以上版本能够对图像中心坐标和获取时间信息进行自动识别,所以只需要修改以下几点:

Sensor Type:传感器类型,这里选择Multispectral→UNKNOWN→MSI;

GF2的Sensor Altitude是631.000

Ground Elevation:成像区域平均高度,通过数据准备中,计算得到的Ground Elevation=1.241km

Pixel Size:4m;

(3) 大气模型和气溶胶模型:

Atmosphere model(大气模型)

根据数据经纬度与获取时间对应的大气模型进行选择:

本文实验的数据纬度为36°,日期为Feb(2月),故选取的是MLS(Mid-Latitude Summer),其他图像按照这个方法选择即可模型即可。

Aerosol Model

根据实际图像选择,本文例子为Rural

Aerosol Retrieval 气溶胶反演

第一种,选择 none。(本文选用的这种)

点击Multispectral Settings,在里面设置响应函数

 Filter Function File 是GF2-PMS1的光谱响应函数gf2_pms1_mss.sli(GF2-PMS2选择gf2_pms2_mss.sli);位于ENVI安装目录:*安装目录\ENVI53\resource\filterfuncs下,选择即可。

点击Fiiter Function File -->   Open --> New file

第二种,选择,需要设置Multispectral Settings--Kaufman --> Tanre Aerosol Retrieval

Advanced Settings

这里大部分都可以保持默认设置,但由于是多光谱数据,故将Modtran Resolution设置为15cm-1.

我的参数设置: 

 所有设置完成之后,点击Apply执行大气校正,完成后会得到反演的能见度和水汽柱含量;

 得到的结果:

 选择Display>Profiles>Spectral查看大气校正前后同一地物波谱曲线变化。

气溶胶反演选择的第一种,None,得到的 大气校正前后对比图,图片颜色有些许变化。

 这个是刚刚大气校正后得到的:

   

3、正射校正

点击File→Open打开大气校正后(或者原始的多光谱)的影像,View Metadata查看其元数据信息,可以看到ENVI很好地识别了数据的RPC信息;

  有了RPC信息之后,就可以基于这些RPC信息进行正射校正;点击Toolbox→Geometric Correction→Orthorectification→RPC Orthorectification
Workflow,打开正射校正流程化工具;

 在File Selection面板中,Input File选择经过大气校正的多光谱数据(MSS1_FLAASH.dat),DEM File会默认选择全球分辨率为900米的DEM数据,我们这里保持默认(如果有更高分辨率的DEM数据,可以替换此数据),点击Next;

在RPC Refinement面板中,有四个选项卡可以选择。

如果有实测的或从其他途径获取的控制点数据,可以在该面板中进行添加,添加后在Statistics选项卡中可以看到相应的误差统计信息;

1) 切换到Advanced选项卡,修改输出像元大小Output Pixel Size为4米,重采样方法Image Resampling选择三次卷积法,其他参数保持默认;
 

 2) 切换到Export选项卡,选择输出文件格式,设置输出路径及文件名(MSS1_FLAASH_rpcortho.dat),点击Finish;

 

正射校正前后对比:


二、全色影像处理

1. 辐射定标

打开ENVI,使用国产卫星扩展工具打开MSS影像,启动File→Open As→China Satellites→GF2,选择PAN.xml文件打开;

在Toolbox中,Radiometric Correction→Radiometric Calibration,在File Selection中选择待处理影像,点击OK;

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

Output Interleave: BIL;

Output Data Type:Uint;

Scale Factor:10000;

output/PAN1_Radiometric.dat

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

辐射定标前和辐射标定后的直观图像

 2. 正射校正

全色数据的正射校正操作与多光谱数据的正射校正完全相同,需要提醒的地方是GF2全色数据正射校正时输出像元大小需设置为1米,以便我们下面进行图像融合。

 点击Toolbox→Geometric Correction→Orthorectification→RPC Orthorectification
Workflow,打开正射校正流程化工具;

 在File Selection面板中,Input File选择经过辐射定标(因为本文的全色图没有进行大气校正)的全色数据(PAN1_Radiometric.dat),DEM File会默认选择全球分辨率为900米的DEM数据,我们这里保持默认(如果有更高分辨率的DEM数据,可以替换此数据),点击Next;

1) 切换到Advanced选项卡,修改输出像元大小Output Pixel Size为1米,重采样方法Image Resampling选择三次卷积法(Cubic Convolution),其他参数保持默认;

 2) 切换到Export选项卡,选择输出文件格式,设置输出路径及文件名(PAN1_Radiometric_rpcortho.dat),点击Finish;

 

正射校正前、后对比:

 以上全色图的处理已完成。

三、图像融合

1.几何配准

(本次处理中没有进行几何配准,这部分没有处理)

        图像融合之前,需要查看二者是否完全配准,如果没有完全配准,就需要对其进行配准,可以使用ENVI中的自动配准流程化工具,以全色数据为基准对多光谱数据进行配准;此工具的位置在:Toolbox > Geometric Correction > Registration > Image Registration Workflow

        本次操作正射校正后的多光谱和全色数据配准的比较好(目前,大部分高分辨率数据正射校正后多光谱和全色数据配准的均比较好),所以我们这里不进行图像配准,直接进行图像融合;

2.图像融合

(1)NNDiffuse Pan Sharpening方法

点击在Toolbox→Extensions→NNDiffuse Pan Sharpening ;

Input Low Resolution Raster选择上一步正射校正后的多光谱数据;

Input High Resolution Raster选择上一步正射校正后的全色数据;

Output Raster:NNDiffusePanSharpening.dat应该是自己出来的,如需修改位置、名称可以进行修改,也可以将融合的数据改为.tiff格式的,NNDiffusePanSharpening.tiff;

其他参数保持默认;

点击OK运行;

注:NNDiffuse Pan Sharpening工具要求输入的多光谱和全色数据的空间分辨率是整数倍的(本例正射校正时分别将多光谱的全色的分辨率重采样为4米和1米,就是为了方便该工具的使用)。

浏览融合之后的影像与融合之前的多光谱影像,空间分辨率得到明显提升,颜色纹理也得到了比较好的保留。与全色融合后的光谱曲线整体升高。

 

 

对于图像变白问题,可以将背景值设置为0,有两种方式

(1)使用ENVI自带的工具

具体操作:

Toolbox > Extensions > Raster Processing Batch Tool > Data Ignore Value > Set Ignore Value[Zero]

 (2)手动修改源数据

        使用记事本等工具打开图像头文件,如下图所示。

        在头文件中手动增加一行为data ignore value = 0(其中0为背景值,可以设置为其他值)。重新打开图像即可。

最终得到的图像保存:

此处保存的文件格式是.dat,可根据自己所需,保存成.tif或者其他格式都可以


处理过程中涉及到的文件名:

MSS1_Radiometric.dat
MSS1_FLAASH.dat
MSS1_FLAASH_rpcortho.dat
PAN1_Radiometric.dat
PAN1_Radiometric_rpcortho.dat

MSS2_Radiometric.dat
MSS2_FLAASH.dat
MSS2_FLAASH_rpcortho.dat
PAN2_Radiometric.dat
PAN2_Radiometric_rpcortho.dat

NNDiffusePanSharpening.tiff

相关文章:

envi5.3处理高分二号影像数据辐射定标大气校正

目录 一、多光谱影像处理 1. 辐射定标 2.大气校正 1. 需要准备一些数据: 2.大气校正过程 3、正射校正 二、全色影像处理 1. 辐射定标 2. 正射校正 三、图像融合 1.几何配准 2.图像融合 高分二号处理流程 envi5.3的安装教程: ENVI5.3安装 安装完ENVI5.3后&#xff0…...

C语言 结构体

结构体的自引用: 自引用的目的: 结构体的自引用就是指在结构体内部,包含指向自身类型结构体的指针。 像链表就会用到结构体的自引用。假如我们要创建链表 链表的没个节点都是一个结构体,它里面存放着它的数据和下个节点的地址。 假如我们用…...

frp-内网穿透部署-ubuntu22服务器-windows server-详细教程

文章目录 1.下载frp2.配置服务器2.1.配置frps.ini文件2.2.设置服务文件2.3.设置开机自启和服务操作2.4.后台验证2.5.服务器重启 3.配置本地window3.1.frpc配置3.2.添加开机计划启动3.3.控制台启动隐藏窗口 4.centos防火墙和端口3.1.开放端口3.2.查看端口 5.关闭进程5.1.杀死进程…...

MySQL内存使用的监控开关和使用查看

参考文档: https://brands.cnblogs.com/tencentcloud/p/11151 https://www.cnblogs.com/grasp/p/10306697.html MySQL如何使用内存 在MySQL中,内存占用主要包括以下几部分,全局共享的内存、线程独占的内存、内存分配器占用的内存&#xff0…...

数据库管理-第113期 Oracle Exadata 04-硬件选择(20231020)

数据库管理-第113期 Oracle Exadata 04-硬件选择(2023010290) 本周没写文章,主要是因为到上海参加了Oracle CAB/PAB会议,这个放在后面再讲,本期讲一讲Exadata,尤其是存储节点的硬件选择及其对应的一些通用…...

带着问题去分析:Spring Bean 生命周期 | 京东物流技术团队

1: Bean在Spring容器中是如何存储和定义的 Bean在Spring中的定义是_org.springframework.beans.factory.config.BeanDefinition_接口,BeanDefinition里面存储的就是我们编写的Java类在Spring中的元数据,包括了以下主要的元数据信息: 1&…...

C语言修行之函数篇(一)tolower —— 转换为小写字母

文章目录 函数说明函数声明函数返回值函数实现函数实例 函数说明 对于大写字母&#xff0c;如果在当前语言环境中存在小写表示形式&#xff0c;则tolower()返回其小写等效物。否则&#xff0c;tolower()函数执行相同的任务。 函数声明 #include <ctype.h> int tolower(…...

【JavaSE专栏55】Java集合类HashTable解析

&#x1f332;Java集合类HashTable解析 &#x1f332;Java集合类HashTable解析摘要引言Hashtable是什么&#xff1f;Hashtable vs. HashMap&#xff1a;何时使用Hashtable&#xff1f;多线程环境&#xff1a;历史遗留系统&#xff1a;不需要进行特殊操作&#xff1a; Hashtable…...

Apollo上机实践:一次对自动驾驶技术的亲身体验

上机实践 概述自动驾驶通信分布式系统开发模式开发工具 自动驾驶感知传感器特性感知流程及算法部署感知模型 自动驾驶决策规划决策规划流程和算法使用 Dreamview 进行控制在环的规划调试开发规划场景和算法 福利活动 主页传送门&#xff1a;&#x1f4c0; 传送 概述 Apollo 是…...

QTcpServer简单的TCP服务器连接

1、简介 简单实现控制TCP服务器获取连接的套接字。点击断开服务器即可关闭所有连接&#xff0c;最大连接数量为5个。 声明源文件 #include "mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) {//设置固定大小setFixedSize(1024,600);b…...

LeetCode热题100——双指针

双指针 1.移动零2.盛最多水的容器3.三数之和 1.移动零 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 // 题解&#xff1a;使用双指针&#xff0c;其中快指针指向非零元素&#xff0c;慢指针指向首个零元素下…...

Ubuntu ARMv8编译Qt源码以及QtCreator

最近需要在NVIDIA小盒子上面跑一个程序&#xff0c;一开始想着在Ubuntu x64下交叉编译一版&#xff0c;后来发现libqxcb.so 这个库在configure时就会一直报错&#xff0c;多方查找怀疑可能是由于硬件不支持在x64环境下编译AMR架构的xcb库。 所以最后在ARM下直接编译Qt源码了&am…...

虚机Centos忘记密码如何重置

1进入开机前的页面&#xff0c;选中第一个&#xff0c;按“e”键&#xff0c;进入编辑模式 2找到ro crashkernel项&#xff0c;将ro替换成 rw initsysroot/bin/sh 3 Ctrlx mount -o remount, rw / chroot /sysroot chroot /sysroot passwd root 输入两次密码 touch /.a…...

OpenGL_Learn02

1. 监听窗口&#xff0c;绑定回调函数 #include <glad/glad.h> #include <GLFW/glfw3.h> #include <iostream>void framebuffer_size_callback(GLFWwindow* window, int width, int height) {glViewport(0, 0, width, height);std::cout << "变了…...

基于STC系列单片机实现外部中断0控制按键调节定时器0产生PWM(脉宽调制)的功能

#define uchar unsigned char//自定义无符号字符型为uchar #define uint unsigned int//自定义无符号整数型为uint sbit PwmOut P1^0;//位定义脉宽调制输出为单片机P1.0脚 uchar PwmTimeCount;//声明脉宽调制时间计数变量 uchar PwmDutyCycle;//声明脉宽调制占空比变量 void Ti…...

vue3中 reactive和ref的区别

在Vue 3中&#xff0c;reactive和ref都是用于响应式数据的API。它们的主要区别在于使用方式和返回值类型。 reactive&#xff1a; reactive函数用于将一个对象转换为响应式对象。它接收一个普通的JavaScript对象&#xff0c;并返回一个被代理的响应式对象。这意味着当响应式对…...

docker的安装部署nginx和mysql

小白自己整理&#xff0c;如有错误请指示&#xff01; 自我理解&#xff1a;docker就是把应用程序所用的依赖程序&#xff0c;函数库等相关文件打包成镜像文件&#xff0c;类似系统光盘&#xff0c;然后可以在任意电脑上安装使用&#xff08;方便运维人员部署程序&#xff09;…...

测试C#调用Aplayer播放视频(1:加载Aplayer控件)

微信公众号“Dotnet跨平台”的文章《开源精品&#xff0c;使用 C# 开发的 KTV 点歌项目》中使用了迅雷开源APlayer播放引擎。最近在学习有哪些能拿来播放视频的组件或控件&#xff0c;于是准备试试&#xff0c;根据文章中的介绍&#xff0c;在迅雷APlayer播放引擎网站中下载了A…...

二叉树的遍历+二叉树的基本操作

文章目录 二叉树的操作一、 二叉树的存储1.二叉树的存储结构 二、 二叉树的基本操作1.前置创建一棵二叉树&#xff1a;1. 定义结点 2.简单的创建二叉树 2.二叉数的遍历1.前序遍历2.中序遍历3.后序遍历4.层序遍历 3.二叉树的操作1.获取树中节点的个数2.获取叶子节点的个数3.获取…...

Go 语言gin框架的web

节省时间与精力&#xff0c;更高效地打造稳定可靠的Web项目&#xff1a;基于Go语言和Gin框架的完善Web项目骨架。无需从零开始&#xff0c;直接利用这个骨架&#xff0c;快速搭建一个功能齐全、性能优异的Web应用。充分发挥Go语言和Gin框架的优势&#xff0c;轻松处理高并发、大…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...