ENVI【遥感图像预处理之图像的几何校正】
---恢复内容开始---
一、图像几何校正的概述
1、几何校正方法:
1)利用卫星自带的地理定位文件进行几何校正。主菜单>>>Map>>Georeference传感器的名称,来启动这种矫正方法。
2)Image to Image几何校正。一幅图像没有经过几何校正的删个文件或者已经经过几何校正的栅格文件作为基准图,通过两幅图上选择同名点来配准另一幅栅格文件,使相同地物出现在校正后的相同位置,大多数的几何校正都是通过这种方法来完成的。
选择主菜单>>Map>>Registration>>Select GCPs:Image to Image.
3)Image to Map几何校正。
通过地面控制点对遥感图像几何平面化的过程,控制点可以键盘输入、从外部矢量文件中获取或者栅格文件中获取。地形图的校正就可以用这种方法。
选择主菜单>>Map >>Registration>>Select GCPs:Image to Map 。
4)Image to Image 自动图像配准。
根据像元灰度值或者地物特征自动寻找两幅图上的同名点,根据同名点完成两幅图像的配准过程。当同一地区的两幅图像由各自校正的误差的影像,是的图上的相同地物不能重叠时可以利用此类方法进行调整。
选择主菜单>>>Map>>Registration >>Automatic Registration:Image to Image。
2、控制点的选择方式:
1)从栅格图像上选择。
如果拥有需要校正图像区域的经过校正的图像,地形图等栅格数据,可以从中选择控制点,对应的控制点选择模式为Image to Image。
2)从矢量数据中选择
如果拥有需要校正的图像区域的的经过校正的矢量数据,可以冲从中选择控制点,对应的模式为Image to Map。
3)从文本文件中选择
事先通过GPS测量,摄影测量或者其他途径获得了控制点的坐标数据的文件,可以直接导入使用。
4)键盘输入。
3、几何校正的计算模型
ENVI提供三种计算模型:
仿射变换(RST)。
多项式模型(Polynomial)。
局部三角网(Triangulation)。
4、冲采样的方法
1)最邻近法。
2)双线性内插法。
3)三次卷积内插法。
二、基于地带定位信息的几何校正
具体的操作步骤如下:
第一步 打开数据文件。
HDF文件格式是一种有自我描述性、可扩展性、自我组织性的可用于绝大多数科学研的存储格式。
选择主菜单>>Open External File>>EOS>>MODIS选择500M的文件打开。

ENVI会自动提取头文件,包括地理参考信息,传感器的参数等信息。
第二步:选择校正模型
选择主菜单>>Map>>Georeference MODIS File对话框中单击文件名,可以在右边查看文本信息。选择校正的文件单击OK进入下一步。出现Georeference MODIS Paramentres对话框。
第三步:设置输入参数
1)在Georeference MODIS Paramentres对话框中设置输出坐标系。
2)在Number Wrap Point中键入xy方向校正点的数量,在x方向的校正点的数量应该小于等于51,y方向的矫正点的数量应该小于等于行数。
3)可以将校正点导出成控制点的文件。.pts .
4)Perform Bow Tie Correction选项是用来消除“蝴蝶效应”的,默认为yes。
5)单击OK进入Registration Parameter(校正参数)对话框。
6)在校正参数对话框中系统自动计算起始点坐标,像元大小等。
7)单击OK执行MODIS数据的Georeference。

三、基于GLT的FY3气象卫星几何校正
GLT几何校正法利用输入的几何文件生成一个地理位置查找表文件,从该文件中可以了解到某个初始像元在最终输出结果中的地理位置。
GLT文件中包含初始图像每个像元的地理信息,它的校正精度是很高的,避免了通过地面控制点利用二次多项式几何校正对低分辨率图像数据的处理。
操作步骤如下:
第一步:安装插件。添加一个ENVI下的HDF5格式读取补丁,并重启ENVI。
第二步: 打开文件
1)选择主菜单>>File >>Open External File >>Gerneric Formsats>>HDF5.选择文件。
2)在文件中包含很多信息,选择RefSB,在对话框中可以浏览。

3)点击Import to ENVI,加载到ENVI波段列表中。

4)同样的方法将定位经纬度的文件打开(Latitude和Longitude)
第三步:生成GLT文件
1)选择主菜单>>Map Georeference from Input Georeference>>Build GLT。
2)longitude作为X波段,在Select Spatial Subset中设置Samples为3.
3)latitude为Y波段。
4)Georeference Projection Information中填写输出投影参数。
5)填写像元大小及输出的文件路径。

第四步:利用GLT校正图像
1)选择主菜单>>Map >>Georeference from Input Georeference>>Georeference from GLT.
2)在文件对话框中选择相应的GLT文件和待校正文件。
3)在输出的对话框中设置输出路径和文件名。
4)输出的结果会自动加载到波段列表中。选择相应的波段在Display中显示。
第五步:查看结果
选择主菜单>>Spectral>>SPARE Tools >>Google Earth bridge,将校正结果在Google Earth下叠加显示,就可以看到校正结果和Google Earth基本重合。
四、Image to Image几何校正
本例是基于spot4全色波段为基础,进行Landsat5TM图像的几何校正过程。
第一步:打开并显示图像
选择主菜单>>File>>Open Image File将bldr_sp.img和tm.img分别显示在Display中。
第二步:启动几何校正模块
1)主菜单>>Map>>Registration>>selectGcps:Image to Image,打开几何校正模块。
2)选择显示Spot文件的Display为基准图像,TM的Display为待校正图像,点击OK按钮,进入采集地面控制点。
第三步:采集地面控制点。
1)控制点工具对话框
---恢复内容结束---
ENVI【遥感图像预处理之图像的几何校正】的更多相关文章
- [opencv]图像预处理方案及方式
像识别中,图像质量的好坏直接影响识别算法的设计与效果精度,那么除了能在算法上的优化外,预处理技术在整个项目中占有很重要的因素,然而人们往往忽略这一点. 图像预处理,将每一个文字图像分检出来交给识别模块 ...
- 图像预处理第9步:存为.bmp文件
//图像预处理第9步:将最终标准化后的字符图像分为单个单个的HDIB保存,并存为.bmp文件 void CChildView::OnImgprcToDibAndSave() { unsigned ch ...
- Matlab 图像预处理
%%%%%%%%%%%%%%%%% %%降采样 clear all im={}; %创建字典保存读取的图片 dis=dir('F:\kaggle_data_zip\Sample\*.jpeg');%% ...
- 『TensorFlow』第九弹_图像预处理_不爱红妆爱武装
部分代码单独测试: 这里实践了图像大小调整的代码,值得注意的是格式问题: 输入输出图像时一定要使用uint8编码, 但是数据处理过程中TF会自动把编码方式调整为float32,所以输入时没问题,输出时 ...
- 基于OpenCV的火焰检测(一)——图像预处理
博主最近在做一个基于OpenCV的火焰检测的项目,不仅可以检测图片中的火焰,还可以检测视频中的火焰,最后在视频检测的基础上推广到摄像头实时检测.在做这个项目的时候,博主参考了很多相关的文献,用了很多种 ...
- TensorFlow图像预处理完整样例
参考书 <TensorFlow:实战Google深度学习框架>(第2版) 以下TensorFlow程序完成了从图像片段截取,到图像大小调整再到图像翻转及色彩调整的整个图像预处理过程. #! ...
- python+opencv 图像预处理
一 python 生成随机字符串序列+ 写入到图片上 from PIL import Image,ImageDraw,ImageFont import numpy as np import rando ...
- Caffe2 图像预处理(Image Pre-Processing)[6]
学习如何使得图像符合预训练模型的需求,或者用其他数据集的图像来测试自己的模型. - 调整大小 - 缩放 - HWC和CHW,数据通道交换 - RGB和BGR,颜色通道的交换 - Caffe2的图像预处 ...
- TensorFlow图像预处理-函数
更多的基本的API请参看TensorFlow中文社区:http://www.tensorfly.cn/tfdoc/api_docs/python/array_ops.html 下面是实验的代码,可以参 ...
随机推荐
- @@IDENTITY与SCOPE_IDENTITY()
在一条 INSERT.SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含语句生成的最后一个标识值.如果语句未影响任何包含标识列的表,则 @@IDENTITY 返回 NULL. ...
- JSP网站开发基础总结《十三》
继上一篇为大家补充过滤器类后,本篇为大家简单介绍一下如何实现验证码效果.验证码的作用是什么呢?1.防止恶意注册2.防止恶意提交3.防止盗取账户等等,总的来说验证码的存在就是为了,防止非人为的操作,不过 ...
- selenium处理select标签的下拉框
有时候我们会碰到<select></select>标签的下拉框.直接点击下拉框中的选项不一定可行.Selenium专门提供了Select类来处理下拉框. <select ...
- EasyUI笔记
以下功能实现朋友们若有更好的思路办法,欢迎留言交流. 1.关闭其他标签页(右键菜单触发,保留左侧第一个欢迎tab) 问题:取到的数组tabs长度会随着tab的关闭而变化 思路:先遍历需要关闭的标签页t ...
- laravel中的错误与日志
日志 laravel中的日志是基于monolog而封装的.laravel在它上面做了几个事情: 把monolog中的addInfo等函数简化成为了info这样的函数 增加了useFiles和useDa ...
- 【Swift学习】Swift编程之旅---控制流(九)
Swift提供了类似C语言的流程控制结构,包括可以多次执行任务的for和while循环,基于特定条件选择执行不同代码分支的if和switch语句,还有控制流程跳转到其他代码的break和continu ...
- React Native版本升级的正确姿势
基于React Native(简称:RN)的APP也发布了三个版本了,RN由于两周就会发布一版从最开始项目用的0.29到最近的0.37,做为一个开源项目来说更新真是跟坐火箭般快速,当然对于我们使用的人 ...
- JavaScript动态增删改表格数据
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- 动态dynamically变更母版_Layout页body标签css的class
这个功能演示是Insus.NET最近想实现的一个功能,就是动态dynamically变更母版_Layout页body标签的样式css的class. 很多视图共同一个母版_Layout页,但是某一个视图 ...
- MVC - Action和ActionResult
Action 定义在Controller中的Action方法返回ActionResult对象,ActionResult是对Action执行结果的封装,用于最终对请求进行响应.HTTP是一个单纯的采用请 ...