ENVI裁剪
一、basic tools-->resize data进行规则裁剪
虽然是进行图像重采样工具,但也可以用于简单快速的裁剪
1、 选中要裁剪的图像;
对话框下面选择spatial subset(构建空间子集_就是裁剪图像)(另spectral
subset-构建波谱子集)
2、提供多种裁剪方式:
(1)直接输行列裁剪,这样裁剪的前提是你要预告查看需要图像所占的行列是多少。
(2)image裁剪,可以输入需要裁剪图像的大小,然后鼠标可以拖动图中所选区域的位置直到合适的位置。
(3)或者是使用map、file、ROI/evf等方式进行裁剪。但map、file两种方式个人感觉都不方便,roi/evf方式方便,但这里只能进行规则裁剪。
二、basic tools-->subset data via rois进行规则和不规则裁剪
首先必须建立裁剪所需的ROI(感兴趣区),即需要进行裁剪的范围。
建立感兴趣区,下面介绍了三种方式
1、通过主图像窗口-->tools-region of interest-->roi
tool,然后自己在图像上定义出一块感兴趣区(实际中难于确定严格准确的裁剪界限)。
2、打开外部确定好的矢量裁剪范围(矢量文件必须是区文件),并将其加载到图像上(load
selected),方便后面的裁剪。
3、加载矢量范围后图像,然后将矢量范围转为感兴趣区(file-export active layer to
rois)。
4、如果矢量文件包含多个区,这里可以选择每个EVF to a new roi,并可以在attribute column to
use for
name后选择矢量区的一个属性做为标志,这里我选择ID,这适用于后面将要对每个区进行统计分析的处理,如果仅仅是简单的裁剪,多个区可以转为一个感兴趣即可。
5、basic tools- subset data via
roi-选择要裁剪的图像-OK跳出图8对话框,设置好即可进行不规则或者是规则的裁剪了。
注:
1、如果有多个rois,一定要选择要用到的ROI,可以按CTRL进行不连续的多个ROI的选择,如果全需要,干脆select all
items。
2、mask pixels outside of
roi一项非常重要,如果选择no,裁剪后的范围将是能容纳不规则的矢量范围的最小的一个矩形范围,即仍然是规则的裁剪结果。如果选择YES,则可以设置mask background
value(即矢量文件范围外的值,根据实际情况设定,此处设为0),裁剪后的结果将是不规则矢量范围的结果,即进行的是不规则的裁剪。
补充一点:前面看到有人说ENVI打开窗口太多,查找相应窗口比较麻烦,实际上也可以打开主菜单--> window --> window
finder功能可以快速查找相应窗口。
ENVI下裁剪栅格影像图的步骤
以前在论坛和群里面看到过很多人问如何在ENVI中利用不规则边界来裁剪栅格影像,都只是告诉他们将矢量数据转为ROI然后再Subset就可以。今天又碰到了,就将在ENVI中裁剪栅格的步骤写下来,以方便参考:
数据:矢量数据为SHP格式,面状(多边形)特征文件。栅格数据为TIFF格式。
1、打开栅格数据:通过 File -- Open
Image
或者 File -- Open External File --
Generic Formats -- TIFF/GeoTIFF
2、打开矢量数据:通过 File -- Open Vector
或者 Vector -- Open Vector,选择 文件类型Shapefile(*.shp)
,选择矢量文件 testshp.shp,注意在弹出的Import Vector Files Parameters
对话框选择正确的投影类型。然后OK之后ENVI自动将矢量文件转为EVF格式。这里要注意栅格数据和矢量数据的投影系统必须一致。如果不一致就需要重投影使其一致。
3、将矢量数据转为ROI:在Availabel Vectors List选择数据,在 File 选择 Export Layers to
ROI,然后在Select Data File to Associate with new ROIS
中选择需要裁减的栅格数据,再在Export EVF Layers to ROI中选择Convert all records of an
EVF layer to one ROI,点击OK。
4、裁剪栅格数据:在ENVI主菜单Basic Tools 中选择Subset Data via ROIs,在Select Input
File to Subset via ROI 中选择需要裁减的栅格数据,OK。然后出现Spatial Subset via ROI
Param...对话框,在Slect Input ROIs 中选择建立的 ROI。最后选择输出结果到文件还是内存即可。
补充:在Erdas下利用*.shp数据进行裁剪时,把shp转换成AOI的步骤:
1)、使用Vector打开shp文件,在Vector下使其变成可编辑状态
2)、在Vector
Attribute属性表中选择所有的多边形,Edit>Copy,然后在Aoi下选择“copy selection to
AOI...”,最后在File>Save aoi layer as...”。
这里需要注意 Mask pixels outside of ROI ?这个选项,如果选择 No
,则是以包括ROI在内的最小矩形范围裁剪,得到的结果数据也是矩形。如果选择Yes,则需要在 Mask
Background Value 后给出 ROI 范围外的数据值,默认是0
(该值自己谨慎设定,尤其是分类图像中0作为一个类别时,应该赋予其它值,否则会造成统计混乱),这样得到的结果就是大家想要的不规则边界裁剪结果。
另外矢量数据必须是多边形类型,如果是线类型裁剪,在想要得到按照边界裁剪时就会出错。
如何在ERDAS中实现用矢量县界裁切遥感影像
1、 启动ERDAS软件
2、
打开一个viewer,并在其中打开要进行裁剪的遥感图像;
3、 在上面的窗口中同时打开县界矢量图,shape格式的;
4、
在矢量图上,用鼠标点中你要裁切的县,并点击“AOI”菜单下的“Tools…”子菜单,调出AOI工具栏;
5、
利用AOI工具条上的AOI转换工具(带右箭头的工具),将选中的县界转换为AOI,并选中该AOI;
6、 “Data Preparation”中点击“Subset
Image…”,启动图像裁切窗体。接下来,选择好要裁切的遥感影像,点击窗体上的“AOI…”按钮,选中“Viewer”选项,点击“OK”按钮,这时
可以看到要输出的图像两角坐标较原图发生了相应的改变。然后给出裁切后输出图像的存放位置和文件名,这时点击“OK”按钮,从而实现最终的裁切。
7、
程序运行完后,点击“ok”按钮。同时,启动另外一个“Viewer”窗体,在该窗体中打开刚才的裁切结果文件,进行查看,这样整个的裁切过程就完成了。
参考文章
ENVI裁剪的更多相关文章
- ENVI软件操作【数据显示操作——Overlay菜单操作】
一.注记层(Annotation) 注记层是ENVI的一个数据类型,它的后缀名是.ann.往往作为栅格数据层,矢量数据层.三维场景会绘图图表的附加数据叠加在上面,还可以作为镶嵌图像时候的裁剪线.注记数 ...
- idl 批量裁剪代码
PRO Subset_via_shp_update COMPILE_OPT idl2 ENVI,/restore_base_save_files envi_batch_init,LOG_FILE='b ...
- 2014年ENVI/IDL遥感应用与开发培训班-11月重庆站 開始报名了
主办单位: 中国遥感应用协会 Esri中国信息技术有限公司 内容简单介绍: 依据中国遥感应用协会栾恩杰理事长推动国内遥感技术和应用的指示精神,2014年中国遥感应用协会组织培训交流部与Esri中国信息 ...
- PIE SDK图像裁剪
1.算法功能简介 图像裁剪的目的是获取选定的影像范围区域.图像裁切工具提供像素范围裁切.矢量裁切.栅格图像裁切和几何图元裁切四种方式. 像素范围裁切是基于像素坐标获取矩形裁切区域的裁切方式:矢量裁切是 ...
- envi利用矢量数据对影像做多边形裁剪 (转)
2011-05-25 17:31:10| 分类: ENVI|举报|字号 订阅 来自:http://zhangling357522.blog.163.com/blog/static/184687296 ...
- 【168】ENVI入门系列
参考:ENVI-IDL中国的博客 [ENVI入门系列]01.ENVI产品简介与入门 [ENVI入门系列]02.自定义坐标系(北京54.西安80.2000坐标系) [ENVI入门系列]03.基于自带定位 ...
- 【绝对干货】仿微信QQ设置图形头像裁剪,让你的App从此炫起来~
最近在做毕业设计,想有一个功能和QQ一样可以裁剪头像并设置圆形头像,额,这是设计狮的一种潮流. 而纵观现在主流的APP,只要有用户系统这个功能,这个需求一般都是在(bu)劫(de)难(bu)逃(xue ...
- springmvc 多数据源 SSM java redis shiro ehcache 头像裁剪
获取下载地址 QQ 313596790 A 调用摄像头拍照,自定义裁剪编辑头像 B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单; 技术:31359679 ...
- mono for android 获取手机照片或拍照并裁剪保存
axml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android ...
随机推荐
- mac os x 把reids nignx mongodb做成随机启动吧
~/Library/LaunchAgents 由用户自己定义的任务项 /Library/LaunchAgents 由管理员为用户定义的任务项 /Library/LaunchDaemons 由管理员定义 ...
- Python Flask SQLALchemy基础知识
一.介绍 SQLAlchemy是一个基于Python实现的ORM框架.该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL并 ...
- hdu 1041(递推,大数)
Computer Transformation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/ ...
- centos安装更新Python2.7以及pip的安装
一.首先对相关的软件进行更新 python -V yum -y update yum groupinstall -y development yum install -y zlib zlib-dev ...
- 183. Customers Who Never Order
Suppose that a website contains two tables, the Customers table and the Orders table. Write a SQL qu ...
- Linux用户和用户组的初步知识
用户组相关:在Linux系统下,当创建一个如叫tom的用户,那么系统同时会创建一个叫tom的用户组linux中用户的信息都是放在/etc/passwd下的,用户的密码经过加密后放在/etc/shado ...
- Lucene.Net无障碍学习和使用:索引篇
一.简单认识索引 Lucene.Net的应用相对比较简单.一段时间以来,我最多只是在项目中写点代码,利用一下它的类库而已,对很多名词术语不是很清晰,甚至理解 可能还有偏差.从我过去的博客你也可以看出, ...
- gitlab备份与恢复
(1)备份 1.创建备份目录,并授权 mkdir /data/backups/gitlab -pv chown -R git.git /data 2.修改gitlab配置 vim /etc/gitla ...
- 【ASP.NET MVC】提高页面加载速度:脚本优化
在这里我们说一下脚本优化的三个方法: 一.在我们做Web开发的时候,当我们引用Js文件的时候,我们一般会将js文件放在文档的head标签中,这时当页面加载的时候,浏览器会按着由上到下的顺序,当浏览器遇 ...
- Web框架以及两种模式MVC,MTV
一.Web框架的本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. import socket def handle_reques ...