1 国产卫星影像批量读取

常用的国产卫星数据标准产品包括 L1级数据和 L2级数据。L1级数据经过辐射校正处理后生成的产品,数据文件格式为 TIFF,并提供 RPC数据;L2级数据是系统几何校正产品,经过辐射和几何校正处理后生成的产品,具有地图投影,投影坐标为 UTM,数据存储格式为 GeoTiff。元数据以xml文件提供,里面包含了详细的数据描述信息,如传感器类型、数据获取时间,地面分辨率,太阳和卫星的高度角和方位角,地图投影,数据范围等。

本次实验采用OpenRaster 方法进行影像数据读取,在读取影像数据之前,需事 先读取xml文件和RPC文件获取元数据信息,然后通过调用OpenRaster 函数设置关键字参数将这些信息传递给所需读取的栅格对象,在关闭栅格对象后,这些元数据会保存的新生成的ENVI头文件中。

2 批处理工具设计

本实验采用IDL GUI完成界面开发,界面简单、友好、易用,如图所示。本工具主要包括三个功能模块:数据输入输出,批处理流程设置和处理信息显示。数据的输入目前支持国产 ZY2,ZY3,GF1以及其他ENVI支持的格式。该工具可以根据数据类型、数据级别以及自定义方式定义过滤条件,读取元数据文件,生成ENVI头文件,最后将成功读取的文件的路径显示在下方的表格中。

批处理工具界面

本批处理工具实现了正射校正、影像自动配准、影像融合、线性拉伸等多个批处理功能,各个功能可以任意组合,功能按照顺序执行,上一步的结果作为下一步的输入,每个功能按钮可以设置相应的参数,以自动配准为例,需设置的参数。

(1)参考影像:默认值为空,表示全色和多光谱配准,也可以输入参考影像路径。

(2)参考影像波段和校正影像波段:用于指定搜索控制点时的波段,一般选择波长较长的波段。

(3)搜索窗大小:用于指定在待匹配影像上搜索同名点时的窗口大小,该值最小值为2*(d+1),d为两幅影像上同名点最大像素偏移量。

(4)匹配窗大小:用于计算匹配度是窗口大小,一般分辨率越高设置越大。

(5)最小匹配度:用于过滤差的匹配点,默认是0.7,当匹配窗口较大,可以适当降低该值。

(6)特征点提取算子:提供了Moravec 和 Forstner两种算子,前者计算速度更快,后者精度更高。

(7)校正方法:提供仿射变换、一次多项式和三角网三种校正方法。重采样方法:提供最邻近、双线性内插和三次卷积。

处理显示模块主要是在点击执行按钮后,处理信息文本框会显示处理进度、正在处理的文件、处理时间等相关信息

参数设置对话框

3 批处理功能的实现

部分核心代码如下:

COMPILE_OPT id12e=ENVI(/headless)FOREACH file,infiles DO BEUINtask=ENVITask<'RPCOrthorectificatiori)raster=e.openraster(file)demraster=e.openraster(demfile)task.INPUT_RASTER=rastertask.DEM_RASTER=demrastertask.0utput_Raster_URI=outfiletask.ExecuteENDFOREACH

其他的批处理实现方式与上述一样。其中ENVIAPI中没有提供自动配准的任务,但提供了两个函数ENVI_AUTO_TIE_POINTS_DOIT和ENVI_REUISTER _DOIT函数来分别实现控制点自动选取以及影像的几何校正功能。植被增强以及模拟真彩色合成算法可以利用波段运算函数MATH_DOIT完成。

GS结果                                   NNDi结果

更多遥感知识,关注公众号:

基于ENVI/IDL实现国产卫星影像批处理功能相关推荐

  1. 使用ERDAS对国产卫星影像进行控制点正射校正—以高分二号卫星(GF2)为例

    ** 使用ERDAS对国产卫星影像进行控制点正射校正-以高分二号卫星(GF2)为例 ** 一.研究区影像: 1.1.高分二号原始影像 影像为山西介休市的一景获取时间为2019.01.22的GF2影像: ...

  2. 基于6S模型的国产卫星数据大气校正

    本文只讲干货,不讲客套话,不讲没有由头的技术细节.目的只为将6S模型用于国产卫星大气校正. 6S模型介绍 首先来讲为什么要进行大气校正,讲讲必要性.首先,只有定量化需求才会用到大气校正,当然为了满足项 ...

  3. 基于ENVI/IDL 的一键化实现LST-NDVI的干湿边方程拟合,并得到TVDI计算结果图

    ENVI/IDL (5.3版本)一键化实现LST-NDVI的干湿边方程拟合,并得到TVDI计算结果图 0 原理介绍 利用IDL将NDVI异常值进行剔除,NDVI取值范围为0.2~1(植被覆盖区),对反 ...

  4. 【技术类】【ArcGIS对国产卫星的支持2:高分一号卫星】篇1、ArcGIS RasterType Extension for Chinese Satellites 2.0插件介绍

    为了更好的服务于国产卫星用户,中国卫星插件推出2.0版本,增加了对高分一号卫星的支持. 1.插件版本说明及获取方式: 适用于ArcGIS 10.2或更高版本. 如需插件,请通过邮箱获取:may@esr ...

  5. 常见国产卫星参数介绍

    本文介绍了常见国产卫星数据的简介.数据时间.传感器类型.分辨率等情况,绝大多数都内都是从不同的网站上粘贴而来,由于时间原因,本文所写内容不全面,所以会按照作者的科研时间分配,将不定期更新本文. 目录 ...

  6. 批量处理|基于ENVI的国产高分影像批量融合工具

    从本文开始,介绍ENVI软件常用的遥感影像处理功能,并采用C#+IDL混合编程方式,实现ENVI常用功能的批量处理,对应的ENVI采用5.3版本,其他版本不保证能正常使用,尤其是5.3以下版本. 1. ...

  7. 第059篇:高分二号遥感影像预处理流程(ENVI5.3.1平台+ENVI App Store中最新的中国国产卫星支持工具)

    今天被袁老的新闻刷屏,湖南衡水县水稻基地传出好消息:                                             袁隆平团队第三代杂交水稻测产,测得晚稻平均亩产为911.7 ...

  8. 批量处理|基于ENVI的遥感影像批量裁剪工具

    遥感影像裁剪的目的是将研究之外的区域去除,常用的方法是按照行政区划边界或者自然区划边界进行影像裁剪,在基础数据生产中,还经常要进行标准分幅裁剪. ENVI软件支持规则裁剪(矩形范围)和不规则裁剪(任意 ...

  9. 基于高分辨率影像城市绿地信息提取_[转]ENVI支持下利用高分辨率影像城市绿地信息提取方案...

    城市绿地在改善城市生态环境和人居环境起着积极的作用,城市 绿地含量逐渐成为衡量城市生活质量的一个重要指标.此外,城市 绿地的空间分布格局与其生态效应有着密切的关系.因此,必须 客观.准确地掌握城市绿地 ...

  10. GF3卫星影像数据处理-PolSAR+ENVI

    博文目录 GF3卫星影像数据处理-PolSAR+ENVI 一.GF3卫星参数介绍 二. POLSAR软件安装 三.ENVI插件准备 四.数据处理 GF3卫星影像数据处理-PolSAR+ENVI . 一 ...

最新文章

  1. 前端之图形学-2 着色器
  2. lesson2-python3数据类型
  3. MAC和XCODE常用快捷键
  4. class类初始化之后调用赋值问题记录
  5. fetch first mysql_MySQL多版本并发控制机制(MVCC)源码浅析
  6. servlet 从oracle中结果集,用servlet对oracle进行增删改查
  7. 欧盟百万欧元悬赏开源软件漏洞惹争议,被评本末倒置
  8. python批量写入数据库_python实现数据库批量数据插入.
  9. IDEA使用教程汇总
  10. 数据包络分析--两阶段加性网络DEA--使用优化黄金分割比例算法(第二篇)
  11. 怎样破解QQ空间代码(转载)及最新收集2009年QQ空间皮肤代码大全 (http://www.enet.com.cn/article/2009/0812/A20090812519367.shtml)
  12. android 弹跳动画效果下载,SpringyFX-SpringyFX(MG弹跳动画制作AE脚本)下载 v1.1官方版--pc6下载站...
  13. 尝试Python的websockets库的最基础功能
  14. javafx-更改程序图标
  15. 程序员教程-1章-计算机系统基础知识
  16. 黑小米真不应该,如今它已是国货之光,成为国产手机在海外领军者
  17. python量化策略——混合择时策略(动量效应+pe_ttm、pb估值+美林时钟)——股债轮动
  18. Web与排版学上的字体问题【转】
  19. OpenGL 入门 17:立方体贴图
  20. Altium Designer快捷键和规则

热门文章

  1. python flag格式_Python 字符串格式化之 printf-style
  2. maven添加mirror_Maven配置setting.xml值Mirror与Repository区别(示例代码)
  3. 09. Django基础:URL反向解析
  4. React:基础知识学习
  5. jquery选择器的介绍和使用
  6. Java_Arrays.fill() 初始化二维数组一个指定值
  7. C++对结构体按照某一项元素进行排序
  8. LDA(Latent Dirichlet Allocation)简介
  9. 统计一个数字在排序数组中出现的次数。
  10. C#进阶系列——WebApi 路由机制剖析:你准备好了吗?