本文介绍基于ENVI 软件,利用"Seamless Mosaic"工具实现栅格遥感影像无缝镶嵌的操作。
在遥感图像镶嵌拼接:ENVI的Pixel Based Mosaicking工具操作方法这篇文章中,我们介绍了在ENVI 软件中通过"Pixel Based Mosaicking "工具实现栅格遥感影像的镶嵌的方法。这一工具虽然可以对不含有地理参考信息 的遥感影像进行镶嵌,但是其镶嵌的整体效果并不如"Seamless Mosaic "工具的效果。因此,本文就对基于"Seamless Mosaic"工具的栅格遥感影像镶嵌操作进行介绍。
首先,我们先来看一下本文需要实现的需求。现有以下两景遥感影像,二者均含有地理参考信息,如下图所示;这里我们再强调一下:如果待镶嵌的遥感影像中至少一景 不含有地理参考信息,那么就无法使用"Seamless Mosaic"工具进行镶嵌。

而我们需要做的,就是对这两景遥感影像进行镶嵌。
明确了具体需求,接下来就可以开始镶嵌操作。首先,我们在ENVI 软件中打开对应的两景遥感影像;随后,在工具箱中依次选择"Mosaicking "→"Seamless Mosaic"。

随后,将弹出如下所示的"Seamless Mosaic"工具窗口。

点击上图左上角的绿色加号,导入我们需要进行镶嵌的遥感影像。

导入数据完毕后,我们开始镶嵌参数的配置。这里提一句,镶嵌过程中大家最好始终勾选"Seamless Mosaic "工具窗口右上角的"Show Preview"选项,这样可以让我们时刻对镶嵌结果图像有一个初步的预览。
首先,在"Main "面板的"Data Ignore Value "选项中,填写两景遥感影像重叠区域的背景值(NoData 值)。如下图所示,我们可以利用Crosshairs 功能、Cursor Value功能获取重叠区域背景处像元的数值。

接下来,在"Color Matching Action "选项中,我们需要选择镶嵌后结果图像 的颜色匹配基准图像 。一般的,我们将导入"Seamless Mosaic "工具的任意一景遥感影像作为基准图像(即选择"Reference "),将其余所有图像作为待校正图像(即选择"Adjust ")即可。随后,在"Feathering Distance (Pixels)"选项中,配置接边线羽化的范围。

接下来,进入"Color Correction "面板,选中"Histogram Matching",即开启直方图匹配,并选择是依据待镶嵌遥感影像的所有区域还是重叠区域作为直方图匹配的范围。

接下来,我们点击"Seamlines"选项;如下图所示。

此时,在待镶嵌遥感影像中可以看到软件自动生成了一条绿色的接边线;如下图所示。

系统生成接边线的操作是自动的,因此难免会出现接边线不理想的情况。我们可以选择"Start editing seamlines"选项,对系统生成的接边线进行修改。

修改接边线的方式也非常简单,我们只需要用鼠标在新接边线的路径上不断点击,从而画出新的接边线。

对某一段新的接边线绘制完毕后,双击鼠标左键,或右键选择"Accept Polygon"选项,即可完成这一段接边线的编辑。

例如,在上图中我绘制完毕后,右键选择"Accept Polygon"选项,可以看到接边线在这里就是沿着我画的新的范围来生成的。

这里有一个非常关键的部分------大家在对接边线进行绘制的过程中,一定要确保你开始绘制的第一个点 与结束绘制的最后一个点 ,需要在原有接边线的同一侧。如下图所示,我开始和结束的两个点(两个黄色方框内的点)都是在原有绿色接边线的左侧的。

只有这个样子,才可以让新生成的接边线按照我们画好的路径生成;如下图所示。否则结束绘制后,会发现接边线没有发生任何变化,依然是系统默认的那个样子。

关于接边线的修改,如果大家还是不明白,可以查看这个动图。这里要非常感谢旧哥友情提供的动图~

接边线修改完毕后,如下图所示。可以看到我已经将原本笔直的接边线,按照成像区域的水体边界、道路等进行了修改;这样子镶嵌结果就会比较统一,不会明显地看到接边线的痕迹。

绘制完毕接边线后,我们可以选择"Save Seam Polygons"选项,对绘制好的接边线进行保存。

在弹出的窗口中输入接边线的保存路径与名称即可。

在今后,如果我们还想用这个保存好的接边线,就可以通过"Restore Seam Polygons"选项,导入之前保存好的接边线文件。

完成以上对接边线的操作后,我们进入"Seamlinse/Feathering "面板。在其中,我们选中"Apply Seamlines "选项,并对"Feathering"选项进行配置,从而调整镶嵌图像的接边线羽化设置。

最后,我们进入"Export "选项,对镶嵌结果图像的保存路径与名称进行设置;此外,还可以对结果图像的背景值、重采样方法与输出波段进行选择。这里的重采样方法,也就是"Resampling Method"选项,一般选择三次卷积即可。

随后,点击"Finish"。稍等片刻,就可以看到我们镶嵌好的结果图像了。

观察结果图像,可以发现我们几乎很难找到接边线的痕迹。这就是"Seamless Mosaic"工具实现栅格遥感影像无缝镶嵌的优势所在。