四、Arcgis实现深度学习道路训练样本数据的制作(使用软件批量获取样本)——重复工作+多次返工的血泪史

前面使用了arcgis将线状转变为了面状
虽然可以一张图一张图的获取
并且在这个过程中进行重命名

但人工成本太高
这里我获取到了河流的所有面状样本,如图

如果还按照一、教程的方法来弄(点击跳转看看一张一张如何保存)
就有些太麻烦了

这里总结一下如何用arcgis软件进行批量生成样本的操作

将图片的名字对应到方格上

我的图片名字是作为Annotation单独存在于一个图层
而方格是另外一个图层

如何把这两者进行一个关联
我发现他俩都有一个字段FID可以通过这个来进行表连接
但是
一个是0开头

一个是1开头
所以需要对属性表每个加1或者重新新建一列1开头
这样有相同的值才能进行表关联

打开字段计算器
简答的操作可以查看这个

这样就新建了一列与我们的图片文字表对应的了

方格是1-239
文字的属性表也是1-239
然后就可以进行属性表连接
追加图片名称在方格的属性表里

这样就可以获得包含图片名称的方格拉

批量保存裁剪数据框

首先我得先把有数据的数据框要素保存下来
这个会用来裁剪我的面状要素
首先我找到我的数据框
是在这个要素里面的
选择一个就是一个数据框

于是对其进行数据另存为
得到了每一个方块的面状

首先点击

工具栏中的选择
然后选择按位置选择

这个表就可以选择相交的方格拉
再另存为就行啦

这样就对方格进行了第一步的筛选

使用每一个方格对面状要素进行裁剪并分别保存为单独的面文件——多个矢量裁一个栅格

在这里要选择要素里的每一个方格
因此是一个批量模型的操作
这里需要使用到模型构建

模型图如图所示
这里需要使用到迭代器中的要素选择

这里我参考了这篇文章
过程写得非常详细
大家可以去看看

这种设定名字的方法要学习一下
关键在这里,双击裁剪工具,设置输出文件命名为“%名称%”,这里的名称指的是迭代器所生成的名称

这里插入一个小知识点

arcgis中模型构建器的保存转为模型小工具

这里查看这篇文章,终于学会保存了!!原来P是这么用的!

这样就可以把自己的工具箱里面的模型加载出来了
还可以随时进行修改!

但这样生成的文件命名是从1开始的数字,并不是我想要的命名

ArcGIS自动命名设置

查看这篇文章可以把生成的文件名修改为某一个字段

ArcGIS将shp文件保存为黑白样本图片

经过上面的步骤我已经把我需要的面裁剪出来了

那么如何保存为我需要的黑白样本文件呢
由于白色在这里是255,而他要素转栅格是需要设定一个值的
于是我得先回去给water设定一个新的属性列

然后在进行后面的步骤

由于名称是要素转栅格的名称
所以这里必须要加一个虚线
把这两个关联起来
不然会报错的

使用连接

连接两者
他是环境->输出配置关键字
最后我做出的模型如下

这样运行出来其实有点问题
比如图片颜色不对
还是需要给多边形添加一个新字段为255
最后的图片名称不需要我自己加.tif
他自动就是tif文件了

其实这个就是要自己不断尝试
不断进行修改的

修改之后再运行就能够得到黑白的样本啦
命名也是我想要的

这里又出现了一个问题样本
大小不是我想要的方格的大小诶

于是再次来康康这个问题

输出与方格大小相同的栅格

这里要感谢跟我一样有这个问题的小姐妹
她是研究了好久好久才用arcgis解决了这个问题
其实是用栅格的镶嵌来解决这个问题的

厉害了我的姐妹!!!!

这里我继续摸索一下她给我讲的这个思路

然后复现一下

首先
需要把我的每一个方格转化为栅格
他是背景所以我提前给他增加了一列属性值为0的字段

然后进行要素转栅格操作
转成全黑的图片之后再进行镶嵌操作

使用模型就是这样的一个图

但是这样设计
又出现了一个问题
一直在面转栅格的地方卡住了

在这个界面一直出不去

然后我试了一下单独选中这个面把这个面转成栅格
确实也需要运行很久
于是我决定等等
应该是6060*6060大小的图片太大了所以无法很快的转成栅格

那就只能耐心地等待了

不管我怎么尝试
这种直接要素转面都很难一次性完成!!!

其实是可以成功的
但可能是我哪一步失败了,所以我下面对整个流程进行了拆分尝试
看看每一个步骤能否单独顺利完成

于是我决定换个思路
先保存下来shp文件
如何在迭代要素时把要素保存为单独的shp文件
我只找到了批量保存的工具
设定输出的文件夹
这样并不能自定义文件名,有些不太好用
但这个方法很好用
可以查看这篇文章

然后再进行shp文件转栅格
模型如下:

终于得到一张黑色的背景图

喜极而泣
说明黑色背景是有的!!
接下来就是要把河流的裁剪出来
也转化成栅格

最后得到两个栅格图片的文件夹
其中图片应该是一一对应的

接下来进行镶嵌

跟上面一样
选择通配符

注意一个模型只能包含一个迭代器!!!
所以不能分开来跑
还是得把他们合在一起
用一个模型来跑

既然每一个步骤是没有问题的
黑色的背景图也可以很快产生
也许就是需要先转为shp再转栅格的问题

于是把上面两个步骤合在一起用一个大模型来跑

但是在镶嵌的时候出现了问题

我的背景黑图只有一个波段
而另外的图片是3个波段???
我打开了另外一个图片
也是1个波段的
我哭了
知道了是这里要调整成1

开心!终于成功啦!

镶嵌成功!
先开始没法进行整个流程可能真的是软件的问题
把软件关了重新启动就成功啦!

还有个小问题
由于我的图片名称有tif
所以这就导致了有两个tif

所以我修改了一下
这样默认了输出就是
tif图片

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2022年5月13日
下一篇 2022年5月13日

相关推荐