首页 > 其他分享 >ENVI无缝镶嵌、拼接栅格数据的方法

ENVI无缝镶嵌、拼接栅格数据的方法

时间:2024-07-07 11:42:23浏览次数:8  
标签:选项 镶嵌 遥感 Seamless 栅格数据 ENVI 拼接 边线 影像

  本文介绍基于ENVI软件,利用“Seamless Mosaic”工具实现栅格遥感影像无缝镶嵌的操作。

  在遥感图像镶嵌拼接:ENVI的Pixel Based Mosaicking工具操作方法这篇文章中,我们介绍了在ENVI软件中通过“Pixel Based Mosaicking”工具实现栅格遥感影像的镶嵌的方法。这一工具虽然可以对不含有地理参考信息的遥感影像进行镶嵌,但是其镶嵌的整体效果并不如“Seamless Mosaic”工具的效果。因此,本文就对基于“Seamless Mosaic”工具的栅格遥感影像镶嵌操作进行介绍。

  首先,我们先来看一下本文需要实现的需求。现有以下两景遥感影像,二者均含有地理参考信息,如下图所示;这里我们再强调一下:如果待镶嵌的遥感影像中至少一景不含有地理参考信息,那么就无法使用“Seamless Mosaic”工具进行镶嵌。

image

  而我们需要做的,就是对这两景遥感影像进行镶嵌。

  明确了具体需求,接下来就可以开始镶嵌操作。首先,我们在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”工具实现栅格遥感影像无缝镶嵌的优势所在。

标签:选项,镶嵌,遥感,Seamless,栅格数据,ENVI,拼接,边线,影像
From: https://www.cnblogs.com/fkxxgis/p/18288302

相关文章

  • 项目解决方案:4G实时视频接入、多画面拼接,融合三维实景的设计方案
    目录一、项目需求1、视频接入要求2、视频拼接要求3、其他项目要求二、方案设计1、前端设备设计方案1.1设计思路1.2设备端设计2、系统整体设计方案2.1总体设计2.1无线4G/5G的带宽限制2.2视频拼接服务器的说明三、产品介绍1、AS-V1000视频平台2、AS-VJ900视频拼......
  • 【OpenVINO™】YOLOv10在CPU上也能实现50+FPS推理—使用OpenVINO C++部署YOLOv10
    ​英特尔发行版OpenVINO™工具套件基于oneAPI而开发,可以加快高性能计算机视觉和深度学习视觉应用开发速度工具套件,适用于从边缘到云的各种英特尔平台上,帮助用户更快地将更准确的真实世界结果部署到生产系统中。YOLOv10是清华大学研究人员近期提出的一种实时目标检测方法,......
  • 解决Landsat 5 TM L2影像在ENVI中打不开的情况
    打开Landsat5TML2影像的MTL文件在ENVI中报错如下:解决方法:打开MTL文件更改两个地方:1.将第一行改为:GROUP=L1_METADATA_FILE;2.L2级的影像已经过校正处理,正确的应该是如下图所示*****_SR_B*.TIF,但是在MTL里面往下拉还有一处地方的各波段名称没有更改过来,将下图红色框内......
  • python: create Envircomnet in vscode 创建虚拟机
    先配置python开发环境 1.在搜索栏输入“>"或是用快后键ctrl+shift+P键就会显示”>",再输入"python:"   选择已经安装好的python的版本至当前项目中   2terminal下输入相关命令行操作,选进入虚拟机的的文件夹下cd.venv/scripts再进行激活虚拟机。输入ac......
  • rust 字符串拼接
    提问rust字符串拼接方式回答format!("{}{}",s1,s2);fnmain(){lets1="Hello";lets2="World";//Usingformat!macroforconcatenationletresult=format!("{}{}",s1,s2);println!("......
  • Python 字符串拼接方法
    字符串的拼接方式有多种:s='nice't='meetyou'r='!'1.利用字符串的格式化%s来拼接字符串。‘%s%s%s’%(s,t,r)结果:‘nicemeetyou!’2.利用join方法来拼接字符串。''.join([s,t,r])结果:‘nicemeetyou!’3.利用加号"+"来拼接字符串。s+t+r结果:‘......
  • String字符串拼接原理
    分为三种情况字符串常量与字符串常量字符串常量之间的拼接操作在未加载到内存之前就已经完成了。在前端编译期间(即将.java源文件编译为.class字节码文件),会对字符串常量之间的拼接操作进行优化。对应的指令:可以看到对于s1和s2这两个局部变量,它们指向的是常量池中同一个对象,它......
  • environment与options
    流水线变量在pipeline中也是可以定义变量,使用变量的。使用关键字environment1.全局变量/局部变量1.1全局变量流水线中也是有局部变量和全局变量之分的,他们都是使用关键字environment来定义pipeline{agent{kubernetes{cloud'kubernetes'......
  • HKCU\Environment\UserInitMprLogonScript;HKLM\Software\Microsoft\Windows NT
    HKCU\Environment\UserInitMprLogonScript: 这个键位于HKEY_CURRENT_USER(HKCU)的Environment分支下,它用于存储与当前用户环境相关的设置。UserInitMprLogonScript 键可能被设置为在用户登录时运行一个脚本或程序。这个脚本通常用于配置用户特定的环境设置或执行一些登录......
  • 【Shell脚本】 Shell索引数组变量:定义-获取-拼接-删除、alisa内置命令、默认输出换行
    目录 Shell索引数组变量:定义-获取-拼接-删除 数组的获取 数组的拼接数组的删除 alisa内置命令默认输出换行语法 read内置命令 declare内置命令获取指定key的值使用declare定义一普通数组,并获取打印元素数据的值 expr命令 算术运算符 布尔运算符 逻辑......