GIS应用技巧之Landsat、Sport等遥感影像去除黑边的多种方法

news2025/4/7 5:27:03

一、前言

当我们利用GIS对遥感影像处理过程中,有时候需要将几张小的影像图镶嵌为一张大的,但是却被黑边所阻挡,这时候就需要找到一种方法来将黑边去掉了。由于遥感影像一般都太大了,不好获取也不好处理,这里我们选用的的影像是之前用过的一个小影像,虽然是带有白边而不是黑边的,但其实方法是一样的,都是通用的。

二、具体方法 

(1)右键影像图层,选择属性 -> 符号系统 -> RGB 合成,勾选【显示背景值(B):(R,G,B)】,点击应用即可。

 但是这种方法只是让白边不显示,并不是真正意义上的去除,白边还是存在于影像数据集中,我们在对影像不进行处理,只是用来进行目视解译的话就可以使用次方法,但若是要进行多张影像的镶嵌等就不能使用此方法了。

(2)自定义去除

在影像导入之前,设置ArcMap地图属性。点击自定义→选择ArcMAP选项→栅格→栅格图层-去除背景值,勾选显示背景值。

 

 

有一些GIS版本没有这个选项,用这种方式去除黑边同用符号系统去除黑边一样只是会改变背景的显示状态,并没有对数据本身做任何改变,重新将图层加载进来时,仍会显示黑边,不过有一点好是如果有多幅影像的话,该方法可以统一全部不显示黑边,不用使用符号系统一幅一幅操作。

(3)复制栅格工具去除

在使用该工具时要知道背景值是多少,白边一般是255,黑边一般是-999,为了确保正确,可以使用识别工具进行探查。

 识别结果为0,打开复制栅格工具。

将探查结果输入到【NoData值】中,点击确认,处理得到的影像就不再有黑边了。

 不过影像在处理后颜色会变浅,不在意可以使用该方法。

(4) 栅格计算器去除

在使用该工具时同样要知道背景值是多少,并在栅格处理器中输入如下公式:

SetNull("C1.tif"== 0,"C1.tif")

若是黑边就将0改为-999,不过具体还是要看背景值是多少。

该方法一个比较严重的问题就是,处理后得到的栅格数据集在加载进来时整体变成了灰白色,符号系统变为了拉伸显示,且不再有RGB合成这个选项。也就是变成灰白影像,建议对单波段影像使用该方法。

(5)设置空函数去掉

该工具的原理同栅格处理器一样,都是将某一数值设置为Nodata(这里我们把值为0的像元设置为Nodata,若是黑边就将0改为-999,具体还是要看背景值是多少,其它像元数值保持不变)。

该工具处理后得到的栅格数据集在加载进来时同样是整体变成了灰白色,符号系统同样变为了拉伸显示,且不再有RGB合成这个选项。

所以该工具也是只能对单波段数据进行操作,如果我们得到的数据是单波段的,那这种方法再合适不过了

 (6)软件不兼容产生黑边去除

 如果是两种不同软件产生的影像金字塔也有可能出现黑边,比如,使用erdas生成了边缘为0值影像的金字塔,那么该影像在导入arcgis 中展示时也一定会有黑边现象。这种情况是由于两款软件不兼容产生的,解决办法是将原有金字塔全部删掉,使用arcgis金字塔工具全部重新创建金字塔,就不会出现黑边了。

(7) 影像分析去除

 选中要编辑的影像图层→点击添加函数→在新弹出的对话框中右键标识函数→选择插入→选择掩膜函数(Mask Function)。

 弹出栅格函数属性窗口,无数据转换改为【全部】,波段的无数据值,去除黑边的输入0,白边的输入255。不过具体看数值。

 依次点击确定后软件会生成一个新的图层,这个图层就是我们去除了黑边的了。需要注意的是,这个图层只是临时数据,移除后需要重新处理一遍才能再出现这个效果,需要将其导出到电脑上才是你自己的数据,或者也可以选择直接在这个处理结果上进行镶嵌等操作。

(8)镶嵌数据集去除

ArcGIS 的镶嵌数据集是个理想与实用兼备的影像数据管理模型,我们用它来“处理”大量栅格数据也是个不错的选择。

凡事保证质量之后,重复工作多了之后就同时需要保证效率,那么这种方法适用于“很多”、“大量”……

 

 在地理数据库中创建镶嵌数据集,其中坐标系利用导入的方式添加即可,并将数据添加到镶嵌数据集中。

 之后,便可以在镶嵌数据集中使用【定义镶嵌数据集 Nodata】工具,对数据的无效值进行定义。其中NoData值的波段选择ALL_BANS,NoData值设为255(之前用识别工具探查的白边的值),勾选【合成基于各波段的NoData值】,遥感影像有3个波段,选中以后只有这三个波段的值均为255时像元才会变成NoData。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/527570.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C#】继承和序列化

前言 在之前的一篇文章中: 【C#】复杂Json的反序列 任意Json获取_code bean的博客-CSDN博客其中result这个key对应的内容是可能发生变化的,所以这里可以用到泛型。如何将一个复杂类型的JSON进行反序列化。那就是如何把json拆解成一个个子类的过程。htt…

NLP 中语言表示 (向量化) 的基本原理和历史演变综述

目录 1 前言2 语言表示2.1 离散表示2.1.1 独热编码2.1.2 词袋模型2.1.3 TF-IDF 模型2.1.4 N-gram 模型2.1.5 基于聚类的表示 2.2 连续表示2.2.1 分布式表示2.2.2 Word Embedding2.2.2.1 Word2Vec2.2.2.2 GloVe2.2.2.3 FastText 2.2.3 基础神经网络模型2.2.3.1 神经词袋模型2.2.…

Excel 设置只能输入指定的字符

目录 1. 创建你要用的表格 2. 确定你要限定输入的行/ 列 3. 创建另一个sheet,用来保存限制输入的配置信息 4. 选中【是否外包】列,并选择数据验证 5. 设置数据限制 6. 确认结果 7. 不想设置配置sheet怎么办? 在工作中,你们…

基于Java+SpringBoot+vue+node.js的图书购物商城系统详细设计和实现

基于JavaSpringBootvuenode.js的图书购物商城系统详细设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码…

70.建立一个轮播图组件第一部分

本次我们的目标是实现如图所示的 初始代码如下&#xff1a; ● 现在我们把图片、文本、按钮等元素添加进去 <div class"carousel"><img src"maria.jpg" alt"Maria de Almeida" /><blockquote class"testimonial">&…

一、Go基础知识入门

1、go语言介绍 2、go开发环境搭建 2.1、go的安装 go下载地址&#xff1a;All releases - The Go Programming Language&#xff0c;windows选择下载go1.20.2.windows-amd64.msi文件。 双击go1.20.2.windows-amd64.msi&#xff0c;点击"Next"&#xff0c;然后勾选同…

开启自主创新基础设施领先之路,超融合缘何能担当大任?

数字基础设施领域最重要的趋势都有哪些&#xff1f; 毫无疑问&#xff0c;超融合便是其中之一。Gartner《2022年中国ICT技术成熟度曲线报告》&#xff08;Hype Cycle for ICT in China, 2022&#xff09;预测&#xff0c;超融合技术未来2年内将到达“生产力成熟期”&#xff0…

2023企业数智化财务创新峰会西安站圆满举办

5月11日&#xff0c;“初夏之际从头越&#xff0c;数智财务待有时。”由用友主办的「智能会计 价值财务」2023企业数智化财务创新峰会 西安站圆满举办&#xff01;西安交通大学管理学院副院长、教授、博士生导师田高良&#xff0c;山东高速集团有限公司财务共享中心收入核算部…

面向Java开发者的ChatGPT提示词工程(2)

在这篇博客文章中&#xff0c;我将分享一些关于提示词的关键原则&#xff0c;帮助你在使用语言模型时获得更好的结果。具体来说&#xff0c;我将介绍两个关键原则&#xff0c;帮助你编写有效的提示词。同时&#xff0c;我也鼓励你在阅读文章的过程中运行代码&#xff0c;亲自体…

浅谈IDC数据中心综合布线第二篇——结构化布线

数据中心网络在当今的业务中扮演着越来越重要的作用&#xff0c;提供数据的存储、管理、共享、交换、应用等功能。在数据中心中&#xff0c;大量的数据在服务器、交换机、存储设备之间通过物理层的光缆&#xff08;仅讨论光纤布线&#xff09;进行传输。数据表明&#xff0c;在…

java Collection 所有单列集合的父接口

为了在程序中可以保存数目不确定的对象或数据&#xff0c; Java提供了一系列特殊的类&#xff0c;这些类可以存储任意类型的对象&#xff0c; 并且长度可变&#xff0c;这些类被统称为集合。集合类都位于java.util包中&#xff0c; 使用时必须导包。集合按照其存储结构可以分为…

微信小程序开发之获取用户信息

环境 微信开发者工具 Stable 1.06.2303220云开发控制台 v1.5.47 用户的openid和头像名称信息 openid 是小程序用户的唯一标识。注意&#xff0c; openid 并不是微信用户的唯一标识&#xff0c;它是和小程序绑定的。也就是说&#xff0c;同一个微信用户&#xff0c;他在小程序…

【Unity-UGUI控件全面解析】| Dropdown 下拉菜单组件详解

🎬【Unity-UGUI控件全面解析】| Dropdown 下拉菜单组件详解一、组件介绍二、组件属性面板三、代码操作组件四、组件常用方法示例4.1 监听开关事件4.2 添加删除节点💯总结🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN🙉 �…

alembic迁移

alembic 作用 alembic是sqlalchemy的作者开发的。用来做OMR模型与数据库的迁移与映射。alembic使用方式跟git有点了类似&#xff0c;表现在两个方面。 第一个&#xff0c;alembic的所有命令都是以alembic开头 第二&#xff0c;alembic的迁移文件也是通过版本进行控制的。首先…

java版Spring Cloud+SpringBoot+mybatis+uniapp b2b2c 多商户入驻商城 直播 电子商务

J2EE企业分布式微服务云快速开发架构 Spring CloudSpring Boot2MybatisOauth2ElementUI 前后端分离 1. 鸿鹄Cloud架构清单 2. Commonservice&#xff08;通用服务&#xff09; 通用服务&#xff1a;对spring Cloud组件的使用&封装&#xff0c;是一套完整的针对于分布式微…

程序员加班一周总结出可视化大屏效果,9种炫酷组件打包带走!

前段时间参加行业分享交流会&#xff0c;听各位大佬的经验传授&#xff0c;其中有一位用一个极度炫酷的可视化大屏进行展示&#xff0c;可谓是让人眼前一亮。我总是在冲浪的时候看到大屏内容&#xff0c;现场的亲眼目睹大屏真是无比震撼的&#xff0c;于是我马上抓住机会向人家…

Quarkus + mybatis + mybatis-generator 使用总结

Quarkus mybatis mybatis-generator 使用总结 大纲 1 Quarkus结合mybatis 2 Quarkus手动配置数据源 3 Quarkusmybatis的使用 4 使用mybatis-generate 5 使用mybatis-generate后的问题 基础说明 1 开发环境 window112 GraalVM 版本22.3.0 3 quarkus 版本 2.13.7.Final4 myb…

【小韬讲存储】——自动精简配置

ChatGPT全球大火 网友们纷纷登陆尝试它的功能 面对五花八门的问题&#xff0c;ChatGPT都能够给出高情商答案 而答案的背后是百TB数据的分析、训练 对于百TB测试数据 企业不会选择一次性购买所需硬件 而是根据实际所需容量进行多次购买 产品背后的百TB数据容量压力 在当前…

火山引擎DataTester:A/B实验平台数据集成技术分享

DataTester的数据集成系统&#xff0c;可大幅降低企业接入A/B实验平台门槛。 当企业想要接入一套A/B实验平台的时候&#xff0c;常常会遇到这样的问题&#xff1a; 企业已经有一套埋点系统了&#xff0c;增加A/B实验平台的话需要重复做一遍埋点&#xff0c;费时费力&#xff1b…

Android Jetpack Compose中derivedStateOf{}与remember{} with keys的区别

Android Jetpack Compose中derivedStateOf{}与remember{} with keys的区别 在这篇短文中&#xff0c;我将清楚地解释derivedStateOf{}和使用带有keys的remember{}之间的区别。阅读完本文后&#xff0c;你将对它们之间的区别有非常清晰的认识。 先决条件 为了理解本文&#xf…