基于arcgis的遥感深度学习数据集制作

由于很多时候,我们在研究过程中往往需要根据实际情况使用自己的影像数据来提取目标物,如果没有合适的公开数据集的话,为了满足实际需要,我们就需要制作符合自己要求的数据集。 今天我们就根据实际情况来详细讲解如何利用arcgis,来制作属于自己的数据集。

制作目标shp文件

  • 首先我们在arcgis中添加我们的影像文件。 alt
  • 然后创建一个shp文件。注意坐标系与我们的影像文件保持一致。在创建过程中注意选择面矢量。 alt alt alt alt
  • 创建完成后,我们在目录表右键新创建的shp文件,打开属性表。 alt
  • 此时的属性表中没有多余的属性。我们点击右上角的选项,选择add field,添加属性。属性名称为"class_id",类型默认为短整型。 alt alt alt
  • 然后我们打开编辑功能,对shp进行编辑。 alt alt
  • 这里我们沿着建筑边缘,勾画一栋建筑。 alt
  • 打开属性表我们发现,刚刚勾画的图斑的class_id值为0,为了使勾画的图斑与背景区分,这里我们将其赋值为1,代表建筑。 alt alt
  • 接着我们再画三栋建筑,当我们同一属性画了很多时,可以进行批量赋值。我们可以选中我们需要批量赋值的图斑,在class_id处然后右键,选择字段计算器,点开后在下方写入1即可,此时选中图斑已经全部赋值为1 alt alt alt alt
  • 如果单分类的任务要求,可以将所有图斑全部赋值为0,如果是多分类的任务,可以继续勾画其它地物,这里我们以林地作为演示,并将其赋值为2。 alt alt
  • 确保影像区域全部勾画完成后,对数据进行保存,并结束编辑。 alt

此时目标shp文件已经制作完成,下面开始制作label。

制作label文件

  • 首先我们通过搜索工具,找到creat fishnet工具(不同版本arcgis,该工具所在位置可能不同,建议使用搜索工具直接定位) alt
  • 打开工具,按下图要求进行选择填写,然后就会生成与影像范围保持一致的面矢量。 alt alt alt
  • 我们用上面的方法,在属性表中添加class_id属性,并使用默认值0代表背景。 alt
  • 然后我们选择update工具,在输入要素中选择我们的背景矢量(fishnet),更新要素中选择我们的目标矢量(lab),输出路径选择我们自己的路径,后缀加上.shp。然后将两个矢量进行叠加。生成的矢量就将两个矢量更新到了一起,并且范围与影像保持一致。 alt alt alt
  • 选择feature to raster 工具,按下面要求选择填写,然后就可以得到背景为0,建筑为1,林地为2的label影像。 alt alt alt

数据集制作

此时可以参考之前我们分分享的马萨诸塞州道路数据集预处理[]的代码进行数据集制作,也可以在arcgis中进行制作。

  • 在arcgis中选择split raster工具 alt
  • 分别对影像数据与label数据进行裁剪 alt alt alt
  • 裁剪完成后会得到image与label一一对应的数据集(除了后缀为.tif的文件,其余文件皆可以删除) alt
  • 选择一个label数据加载到arcgis中,确认是我们标注的图斑,且与影像保持对应。 alt alt

总结

至此,利用arcgis制作遥感影像语义分割数据集的全套流程就结束啦。感兴趣的可以试一试。后续我们也会介绍利用python实现数据集的批量化制作预处理,以及使用arcgis内置的Export Training Data For DeepLearning工具制作更多类型的数据集。感兴趣的点点「关注」

往期精彩

SENet实现遥感影像场景分类
SENet实现遥感影像场景分类
BiseNet实现遥感影像地物
BiseNet实现遥感影像地物
FC-Densenet实现遥感影像道路分类
FC-Densenet实现遥感影像道路分类
pytorch实现遥感影像建筑物提取
pytorch实现遥感影像建筑物提取

本文由 mdnice 多平台发布

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android OpenCV(七十七):官方指南方式编译 OpenCV Android SDK.md

前言 众所周知😳, OpenCV 4.9.0 罕见的在 Android 平台上做出调整,具体更新内容请移步难得一见的 Android OpenCV ChangeLog。然而,近期笔者在查阅 OpenCV Github Wiki 时,又发现了新东西🤡,一…

【学习总结】地面路谱分析

本文仅用于记录自己的学习总结,包括个人理解。不保证内容严格正确。 0. 参考资料 [1] 国标GB/T 703-2005/ISO 8608:1995。[2] Bilibili-车辆考研-路面不平度统计特性[3] Bilibili-清华大学《汽车理论》[4] 网络参考文档.[5] 论文:高雄《路面不平度统计…

Scala入门到放弃—04—集合

文章目录 集合数组ListSetMapTuple其他 集合 数组 可变数组 package org.example object ArrayApp extends App{//继承App后直接直接调用函数,不需要main//println("hello")val a new Array[String](5)a(0)"hello"println(a(0))val b Array…

跟着我学Python进阶篇:02.面向对象(上)

往期文章 跟着我学Python基础篇:01.初露端倪 跟着我学Python基础篇:02.数字与字符串编程 跟着我学Python基础篇:03.选择结构 跟着我学Python基础篇:04.循环 跟着我学Python基础篇:05.函数 跟着我学Python基础篇&#…

免费运维工具测评——深入使用牧云主机管理助手

作为一名运维,宝塔,Nezha 监控面板,WinSCP,Termius 都用过了,谈一下自己的感受: 安装绑定 微信扫码可直接登录,主页简洁清晰,即使是个人体验版也没有任何广告。 只需要复制命令在服…

《More Effective C++》学习

条款1:仔细区别 pointers 和 references 引用应该被初始化,指针可以不被初始化。不存在指向空值的引用这个事实意味着使用引用的代码效率比使用指针的要高。因为在使用引用之前不需要测试它的合法性。指针与引用的另一个重要的不同是指针可以被重新赋值…

【数据库原理】(11)SQL数据查询功能

基本格式 SELECT [ALL|DISTINCT]<目标列表达式>[,目标列表达式>]... FROM <表名或视图名>[,<表名或视图名>] ... [ WHERE <条件表达式>] [GROUP BY<列名 1>[HAVING <条件表达式>]] [ORDER BY <列名 2>[ASC DESC]];SELECT: 指定要…

《Linux C编程实战》笔记:线程私有数据

在多线程环境下&#xff0c;进程内的所有线程共享进程的数据空间&#xff0c;因此全局变量为所有线程共有。在程序设计中有时需要保存线程自己的全局变量&#xff0c;这种特殊的变量仅在某个线程内部有效。如常见的变量errno,它返回标准的出错代码。errno不应该是一个局部变量&…

冬日暖阳行走澳门探寻金沙度假区美食,游行全攻略

澳门金沙度假区是一个集度假、娱乐、购物、美食于一体的综合性旅游胜地。里面光酒店就有7家&#xff08;威尼斯人、巴黎人、四季、瑞吉、康莱德、假日、喜来登&#xff09;&#xff1b;大型购物中心4个&#xff08;四季名店、威尼斯人购物中心、巴黎人购物中心、金沙广场&#…

export default 和exprot

1.默认导入和默认导出 语法: export default {需要输出的内容} 接收: import 成员变量的名字 from 文件夹的路径 案例&#xff1a; a.mjs文件夹下默认导出 export default{a:10,b:20,show(){console.log(123);} } 在b.mjs文件中用成员变量进行接收 import AA from &q…

C语言之三子棋小游戏的应用

文章目录 前言一、前期准备模块化设计 二、框架搭建三、游戏实现打印棋盘代码优化玩家下棋电脑下棋判断输赢 四、结束 前言 三子棋是一种民间传统游戏&#xff0c;又叫九宫棋、圈圈叉叉棋、一条龙、井字棋等。游戏分为双方对战&#xff0c;双方依次在9宫格棋盘上摆放棋子&#…

构建安全可靠的系统:第十六章到第二十章

第四部分&#xff1a;维护系统 原文&#xff1a;Part IV. Maintaining Systems 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 准备应对不舒适情况的组织有更好的机会处理关键事件。 尽管不可能为可能扰乱您组织的每种情况制定计划&#xff0c;但作为综合灾难规划策略…