ENVI下让两幅图像行列大小一致的方法

我们会遇到这种情况,用同样的矢量数据去裁剪相同地区的两幅图像,得到两个结果的行列大小(图像大小)不一样,往往相差一行或者一列。产生这种情况的主要原因是精度取舍,比如矢量边界刚好落在一个图像上半个像元的位置,而另外一个图像上是落在3/4个像元出,这种情况下裁剪结果的行列大小不一致。出现这种情况会影响如波段计算、散点图绘制等操作。下面介绍几种让两个图像的行列大小一致的方法。

注:1、在ENVI5.0下操作,经典操作界面下类似。

   2、以下方法是在两个图像或者多个图像拥有相同的坐标参数和空间分辨率下测试的,其他情况可以使用相同方法尝试。

一、 空间规则裁剪法

这种方法前提是知道小图像相比大图像在哪个地方少行列数,如右边少一列等,可通过叠加显示来判断。

(1)    打开图像,选择Flie->Save As

(2)    在文件选择对话框中,选择较小的图像。

(3)    单击Spatial Subset按钮,打开空间子区选择功能,如下图所示。

(4)    设置图中红框区域的参数,如小图像右边少一列设置参数为:

Samples  to   298

Lines    to  323

 

1:文件和空间子区选择对话框

(5)      选择输出路径和名称。

   打开两幅图像的元数据信息(图层列表中右键View Metadata)可以看到行列大小修改过来了,而且图像其他部门的像元值不会发生变化。

二、Layer stacking

这个方法不需要知道小图像相比大图像在哪个地方少行列数。最后的结果会将两个图像或者多个图像组合为一个多波段的图像。

(1)    打开所有的图像。

(2)    打开/Raster Management/Layer Stacking工具。

(3)    单击Import File按钮,在文件选择框中选择图像文件,包括大图像和小图像。

(4)    Layer Stacking Parameters面板中,选择Exclusiverange encompases file overlap,输出结果范围是几个图像的交集。

(5)    左边的坐标参数按照默认即可。

(6)    选择文件名和路径输出。

   最后的结果是一个多波段的文件,如果需要分成跟以前一样的单独图像文件,可使用Layer Stacking工具或者save as工具,在文件选择对话框中设置Spectral Subset

 
2Layer Stacking Parameters面板

   有人会觉得 /Raster Management/Resize Data工具也可以调整行列号大小,Resize Data工具的做法是重采样方法,而不是空间子区裁剪的方式,得到结果的像素值会发生变化,因此这个方法不可取。

posted @ 2022-07-26 17:15  ENVI-IDL技术殿堂  阅读(2679)  评论(0)    收藏  举报