ENVI指定像元数量(行数与列数)裁剪栅格图像
本文介绍基于ENVI软件,实现栅格遥感影像按照像元行列号与个数进行指定矩形区域裁剪的方法。
一般的,如果我们需要裁剪某个具体的行政区域,按照对应区域的矢量图层裁剪即可;如果需要裁剪某个大致的区域范围,可以按照文章ArcMap手动新建矢量要素的方式中的方法手动划定区域并裁剪;但是有的时候,我们可能需要依据像元数量来限定裁剪区域的大小(例如需要划出一个200*200像素的裁剪区域),而此时手动划定区域肯定不能很好地确定具体像素数量。因此,就需要用到本文介绍的方法。
我们以某一区域不同成像时间的两景遥感影像为例进行介绍。打开ENVI Classic 5.3 (64-bit) 软件,将两景图像导入;随后,在其中一景图像的界面中选择“Tools”→“Cursor Location/Value...”。

接下来,鼠标呈现十字准星的形状;此时在遥感影像中浮动鼠标,可以看到右侧出现了鼠标所指示区域的像元位置与空间位置(即经纬度)。其中,下图红色区域即为鼠标对应点的像元位置。

依据需要选择研究区域的大概位置,并将鼠标停留在区域左上角顶点位置的附近,记住当前对应点的像元位置。随后,选择“File”→“Save Image As”→“Image File”。

在弹出的窗口中选择“Spatial Subset”。

首先,将刚刚记住的像元位置填入下图左侧第一列数据格中(也就是1871与1295所示位置),并按照大家的实际需要填写第二列数据格(也就是红色框内区域);这个“实际需要”就指的是矩形区域行和列对应的像元个数,本文中我们就以400*400像元的区域为例,因此需要分别填写前一列数据+400-1之后的像元数量(-1是因为算头不算尾);最后一列对应的是前两列之间的差值,这里大家暂时不用管。

填好前两列后选择“OK”退出,此时如果再进入“Spatial Subset”就可以看到最后两列的数据已经更新。

接下来,选择导出图像的格式、路径等;可以看到,支持导出的图像格式有很多种。

例如,如果要导出为栅格图像,就可以选择“TIFF/GeoTIFF”。

对两景图像进行同样的操作(记得起始像元的位置要选择一致),可以看到裁剪得到的区域范围是一致的。

至此,大功告成。
ENVI指定像元数量(行数与列数)裁剪栅格图像的更多相关文章
- 如何获取ResultSet的行数和列数
当我们执行数据库查询返回一个ResultSet的时候,很多情况下我们需要知道这个ResultSet的大小,即它的行数和列数.我们知道它的列数可以通过resultSet.getMetaData().ge ...
- 网格布局(GridLayout) 行数与列数
1.如果网格布局对象未指定具体的“行数”和“列数”,那么它将拥有1行和动态的列数. import java.awt.Button; import java.awt.Frame; import java ...
- StringGrid 实例2:1、获取 StringGrid 的行数、列数; 2、给单元赋值.
实例2: 本例功能: 1.获取 StringGrid 的行数.列数; 2.给单元赋值. 运行效果图:
- 用VBA计算WPS 表格ET EXCEL中的行数和列数的多重方法
用VBA计算WPS 表格ET EXCEL中的行数和列数 每种方法中上面的是Excel的行数,下面的是Excel的列数. 方法1: ActiveSheet.UsedRange.Rows.Count Ac ...
- VBA取得EXCEL表格中的行数和列数
VBA取得EXCEL表格中的行数和列数 初学EXCEL宏的童鞋,总是很想知道表格中含有数据的行数和列数,尤其是行数和列数不确定的情况下.这样可以避免很多的错误,并且可以提高效率.但每次用到的时候到网上 ...
- Office EXCEL VBA如何取得EXCEL中的行数和列数
VBA取得EXCEL表格中的行数和列数 请注意不要使用Columus等关键字作为变量,例如"Columus = ActiveSheet.UsedRange.Columns.Count&quo ...
- 【2017-06-29】在登录页面自动返回上次请求页面、Js获取table中的行数与列数
一.在登录页面自动返回上次请求页面 Request.UrlReferrer比如 if (Request.UrlReferrer != null) { //如果能获取来路地址 Response.Redi ...
- python如何输出矩阵的行数与列数?
Python如何输出矩阵的行数与列数? 对于pyhton里面所导入或者定义的矩阵或者表格数据,想要获得矩阵的行数和列数有以下方法: 1.利用shape函数输出矩阵的行和列 x.shape函数可以输出一 ...
- python DataFrame获取行数、列数、索引及第几行第几列的值
print df.columns.size#列数 2 print df.iloc[:,0].size#行数 3 print df.ix[[0]].index.values[0]#索引值 0 print ...
- C#中如何获取一个二维数组的两维长度,即行数和列数?以及多维数组各个维度的长度?
如何获取二维数组中的元素个数呢? int[,] array = new int[,] {{1,2,3},{4,5,6},{7,8,9}};//定义一个3行3列的二维数组int row = array. ...
随机推荐
- ASP.NET Core - 选项系统之选项使用
上一篇 ASP.NET Core - 选项系统之选项配置 中提到 IOptions.IOptionsMonitor 和 IOptionsSnapshot 三个接口,通过这三个接口都可以从依赖注入容器中 ...
- 【LeetCode动态规划#04】不同的二叉搜索树(找规律,有点像智力题)
不同的二叉搜索树 力扣题目链接(opens new window) 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 思路 题意分析 先找一下关系 当n = 1时,如果 ...
- Node.js中理解asyncmap函数 ,爬取王者荣耀荣耀官网壁纸400多张
async/mapLimit函数理解 const phantom = require('phantom') const express = require('express'); const app ...
- 深入理解 python 虚拟机:字节码灵魂——Code obejct
深入理解 python 虚拟机:字节码灵魂--Code obejct 在本篇文章当中主要给大家深入介绍在 cpython 当中非常重要的一个数据结构 code object! 在上一篇文章 深入理解 ...
- win10计划任务程序库实现定时任务的自动执行程序及问题解决。
win10计划任务程序库可以实现按照规则频率执行脚本的功能.现在将设置方法记录如下: 创建任务步骤 1.右键点击我的电脑,选择管理,依次点击:系统工具->任务计划程序->任务计划程序库. ...
- 如何用java校验SQL语句的合法性?(提供五种解决方案)
方案一:使用JDBC API中提供的Statement接口的execute()方法 要在Java中校验SQL语句的合法性,可以使用JDBC API中提供的Statement接口的execute()方法 ...
- kubernetes (k8s) v1.24.0 安装dashboard面板
kubernetes (k8s) v1.24.0 安装dashboard面板 介绍 v1.24.0 使用之前的安装方式,在安装过程中会有一些异常,此文档已修复已知问题. 下载所需配置 root@k8s ...
- kubernetes核心实战(七)--- job、CronJob、Secret
10.job任务 使用perl,做pi的圆周率计算 [root@k8s-master-node1 ~/yaml/test]# vim job.yaml [root@k8s-master-node1 ~ ...
- mariabackup -prepare step on increment backup failed
问题描述:使用mariabackup对maridb10.6.4进行物理备份,进行增量恢复的时候报错.截止到目前,还是mariadb的一个bug,还没有修复.在增备的过程中如果出现新库的建立,数据库就会 ...
- opencv基础
Python 和 OpenCV 的结合是计算机视觉领域中应用最为广泛的一种方式,它们的结合使得开发者可以快速.高效地完成各种视觉任务.本文将介绍 Python 和 OpenCV 的基础使用,包括安装. ...