四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理

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

但人工成本太高
这里我获取到了河流的所有面状样本,如图
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第1张图片

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

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

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

我的图片名字是作为Annotation单独存在于一个图层
而方格是另外一个图层
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第2张图片
如何把这两者进行一个关联
我发现他俩都有一个字段FID可以通过这个来进行表连接
但是
一个是0开头
在这里插入图片描述
一个是1开头
所以需要对属性表每个加1或者重新新建一列1开头
这样有相同的值才能进行表关联

打开字段计算器
简答的操作可以查看这个
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第3张图片
这样就新建了一列与我们的图片文字表对应的了
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第4张图片
方格是1-239
文字的属性表也是1-239
然后就可以进行属性表连接
追加图片名称在方格的属性表里
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第5张图片
这样就可以获得包含图片名称的方格拉四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第6张图片

批量保存裁剪数据框

首先我得先把有数据的数据框要素保存下来
这个会用来裁剪我的面状要素四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第7张图片
首先我找到我的数据框
是在这个要素里面的
选择一个就是一个数据框
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第8张图片
于是对其进行数据另存为
得到了每一个方块的面状
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第9张图片
接下来我要选择有面状数据的方块保存下来
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第10张图片
如何用软件进行操作呢

首先点击
在这里插入图片描述
工具栏中的选择
然后选择按位置选择
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第11张图片
这个表就可以选择相交的方格拉
再另存为就行啦
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第12张图片
这样就对方格进行了第一步的筛选

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

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

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

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

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

这里插入一个小知识点

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

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

这样就可以把自己的工具箱里面的模型加载出来了
还可以随时进行修改!
在这里插入图片描述
但这样生成的文件命名是从1开始的数字,并不是我想要的命名
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第13张图片

ArcGIS自动命名设置

查看这篇文章可以把生成的文件名修改为某一个字段
这样就可以批量将属性的某一列设置为文件名啦
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第14张图片

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

经过上面的步骤我已经把我需要的面裁剪出来了
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第15张图片
那么如何保存为我需要的黑白样本文件呢
由于白色在这里是255,而他要素转栅格是需要设定一个值的
于是我得先回去给water设定一个新的属性列
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第16张图片
然后在进行后面的步骤

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

使用连接
在这里插入图片描述
连接两者
他是环境->输出配置关键字
最后我做出的模型如下
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第17张图片
这样运行出来其实有点问题
比如图片颜色不对
还是需要给多边形添加一个新字段为255
最后的图片名称不需要我自己加.tif
他自动就是tif文件了

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

修改之后再运行就能够得到黑白的样本啦
命名也是我想要的
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第18张图片
这里又出现了一个问题样本
大小不是我想要的方格的大小诶

于是再次来康康这个问题

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

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

厉害了我的姐妹!!!!

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

然后复现一下

首先
需要把我的每一个方格转化为栅格
他是背景所以我提前给他增加了一列属性值为0的字段
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第19张图片
然后进行要素转栅格操作
转成全黑的图片之后再进行镶嵌操作

使用模型就是这样的一个图
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第20张图片
但是这样设计
又出现了一个问题
一直在面转栅格的地方卡住了
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第21张图片
在这个界面一直出不去

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

那就只能耐心地等待了

不管我怎么尝试
这种直接要素转面都很难一次性完成!!!
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第22张图片
其实是可以成功的
但可能是我哪一步失败了,所以我下面对整个流程进行了拆分尝试
看看每一个步骤能否单独顺利完成


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

然后再进行shp文件转栅格
模型如下:
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第23张图片
终于得到一张黑色的背景图
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第24张图片
喜极而泣
说明黑色背景是有的!!
接下来就是要把河流的裁剪出来
也转化成栅格
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第25张图片
最后得到两个栅格图片的文件夹
其中图片应该是一一对应的

接下来进行镶嵌
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第26张图片
跟上面一样
选择通配符
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第27张图片
注意一个模型只能包含一个迭代器!!!
所以不能分开来跑
还是得把他们合在一起
用一个模型来跑


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

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

但是在镶嵌的时候出现了问题
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第28张图片
我的背景黑图只有一个波段
而另外的图片是3个波段???
我打开了另外一个图片
也是1个波段的
我哭了
知道了是这里要调整成1
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第29张图片
开心!终于成功啦!
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第30张图片
镶嵌成功!
先开始没法进行整个流程可能真的是软件的问题
把软件关了重新启动就成功啦!

还有个小问题
由于我的图片名称有tif
所以这就导致了有两个tif
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第31张图片
所以我修改了一下
这样默认了输出就是tif图片

先开始对方格要提前预处理一下
筛选+添加255和0的属性列+添加图片名的属性列
四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第32张图片
得到有样本的方格

然后再用下面的模型跑就可以成功啦
最后总结一下我的模型,可以顺利运行!!!
成功批量生成了河流样本!四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理_第33张图片
问题:
第二次返工的时候才发现
生成的图片分辨率并不是标准的6060
如图
在这里插入图片描述
会出现某些图片分辨率变成6061的情况
我试了好几次
这些图片应该是裁剪的问题
在边缘地方存在样本
裁剪并没有特别标准
所以会出现这种情况

所以样本做好后还需要进行检查
出现问题的样本我决定人工重新裁剪修改保存
看看有没有问题

你可能感兴趣的:(深度学习,windows,windows,深度学习)