一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史

arcgis只保留图片范围内的要素

首先设置个坐标系才好操作
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第1张图片
然后如何只保存我需要的范围内的要素

如图,我要只保留图片上的线段

最好是对影像处理
获取其轮廓线,然后再进行裁剪
这里尝试了很多方法,最好的方式是导入图像的时候就可以获取其轮廓
查看这篇文章
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第2张图片
得到轮廓后
点击“ArcToolbox”—“分析工具”—“提取”—“裁剪”
在打开的“裁剪”界面,选择输入要素(即要被裁剪的要素)
选择裁剪要素(即用来裁剪要素的范围线)
选择裁剪结果的存放位置,选择好之后,点击“确定”。
就可以保留我需要的范围的线要素啦
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第3张图片

道路添加缓冲区

地理处理->缓冲区就可以添加一个缓冲区啦

arcgis双线道路栅格化后的膨胀与收缩

制作样本时需要将线状的道路转换成面状
上面缓冲区的方法可以直接得到面状道路
但是那种不闭合的双线道路怎么处理呢
如下图所示
这种情况就不能使用缓冲区,因为此时不是道路中心线
虽然可以通过手动封闭线
再转为面状,但这样操作着实很繁琐
这里有个很简便的方法
使用栅格工具箱中的膨胀收缩
首先要把要素转为栅格,我这里设置的分辨率0.1,方便计算
得到栅格图片后
在spatial analyst 工具->栅格综合->散度(这个就是膨胀操作,我当时也找了好久)上面就是收缩
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第4张图片
散度和收缩都需要输入像元数目,这里的意思是需要膨胀多少个像素
收缩也差不多,需要手动输入收缩的像素值
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第5张图片

为了提取道路,这里膨胀和收缩的值为略大于二分之一道路的宽度
那么怎么知道道路的宽度呢
使用arcgis的测量功能
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第6张图片
测量道路的最大宽度
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第7张图片
而我的整个图片是606*606的大小
也可以用这个工具测量一下
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第8张图片我的图片分辨率是0.1
那么你也可以知道道路是410个像素啦
那么我大概就把膨胀的像素值设为210
膨胀出来是这样
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第9张图片
接下来收缩,收缩的值要与膨胀的值一样也是210
结果如下
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第10张图片
宽度合适的道路是可以正确并且快速的提取出来,而且直接就是栅格,若是效果不错可以直接保存
但是周围分散出去的细长道路就容易产生错误
同时由于栅格无法直接进行修改
且存在准确度无法预测的问题
但这样确实速度很快
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第11张图片
这种比较简单的路用这种方法产生了一些bug
用软件不好解决

目前为止还没有一个好方法能够一次性很好的提取出完美的道路
路漫漫其修远兮
有想法的朋友们可以跟我一起交流一下~

缓冲区白色 背景黑色的的图片

建立缓冲区后的面要素转换为栅格要素
转换工具->转为栅格->面转栅格
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第12张图片
这样设置同一层数据就是相同的颜色
之后设置颜色为白色
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第13张图片
接下来右键数据导出
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第14张图片
即可导出需要的图片啦
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第15张图片

我在处理了几张图片后,发现了一个问题
如果我的要素范围不是我想要保存的图片的范围该怎么办?

这个问题用图片描述形容一下:
比如我保存之后样本是这样的
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第16张图片
但是原图是这样的

发现了没有其实样本保存的只有左上角一部分
这是因为在作图时
图片右下部分没有要素,这就导致要素保存的大小与原图不同

但我在网上查找了大量博客,并没有与保存图片范围大小有关的方法
因此我的解决方法如下:

使用arcgis保存指定范围大小(某图层大小)的图片

这个范围很明显就是我的轮廓边界大小,那么如何保存指定的这个图层大小的图片呢
在导出数据里,可以看出范围一个是栅格数据集,我的这个就变小了,不是我需要的60606060,而是35156080
我找了很多方式试图修改原栅格数据集的范围,比如在面转栅格的时候,修改像元大小,或者查看有没有其他方法在转换的时候自定义栅格图片大小,但都失败了

这里有个坑!!!!
我自己摸索出来的方法是通过使用数据框
大家可以先看看,不要学习这个方法!!!不然要重新返工
是有bug的!!!!!
这里的方法就是使用数据框
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第17张图片
数据框如何设定为我们自己需要的图片大小呢
这里图层右键属性
在这里插入图片描述
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第18张图片
就可以在这里修改数据框大小啦
设定成固定范围
就可以选择某一个图层的大小
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第19张图片

这样保存的时候这样设置
这样大小就可以自定义啦
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第20张图片
这样即使图片下半部分没有要素
也可以保存下来与原图保持一致啦


虽然我设定的数据框大小是图片的大小
但其实很多时候他并不是标准的6060*6060
而是如图所示
并不是完美的贴合轮廓
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第21张图片
经过一系列尝试,在进行面转栅格时需要在这里进行设置即可

这个页面点击环境。。。

一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第22张图片
就可以在这里设置处理范围了一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第23张图片
处理范围可以设某一个图层一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第24张图片
这样转出的栅格就是完美的6060*6060大小了

arcgis打开PNG格式的图片是空白的

这里做出来png图片之后加载到图层里竟然显示不出来!!!
震惊!
需要修改一下相关显示
设置拉伸方法为None即可
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第25张图片
这样就可以显示啦
但是保存之后直接加载png是能够与tif格式的图片重合的
但是你若不马上加载
而是把图片导入,就根本不能与tif图片重合
修改了坐标系使png与tif图片坐标系相同也还是重合不了

png与tif图片无法重合

由于我保存设置了png图片的坐标系
我就一直以为png图片也是有坐标的
直到我在arcgis里打开png图片
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第26张图片
会提示这个,查看它的属性
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第27张图片
怎么回事????我明明保存的时候设置了坐标系
这是由于png格式保存时丢失了图片的坐标信息和范围信息
这样才能尽可能地压缩图片大小,哭泣
而tif格式的图片是有这些信息的
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第28张图片
这里有个办法:
在上面的保存页面,不直接保存成png
而是保存成tif
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第29张图片
再通过修改后缀将tif改成png
则可以使得png图片拥有坐标系和图片范围,完美解决这个问题
这样就可以使得png图片和tif图片重合

不说了,我又要去改了,暴风雨式哭泣


这里操作步骤较多
为了节省部分操作时间
可以使用模型来简化部分内容
这里我贴一些模型步骤

1、裁剪模型:
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第30张图片

上面这个模型是把我的线状道路按照每个图片的轮廓裁剪出来,并且为单线道路创建缓冲区

裁剪之后自己手动对双线道路进行补充
然后保存得到人工画完全之后的双线道路

2、之后使用双线转为面,模型如下:

一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第31张图片
这个模型把要素转面
没问题则进行下一个模型

3、面转栅格
这里要把单线面与双线面合并
合并的工具有些不好找
在数据管理工具->常规->合并
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第32张图片
然后进行转栅格的时候需要注意添加一个“范围”
一、使用arcgis进行深度学习道路训练样本数据的制作(arcgis操作详解)——重复工作+多次返工的血泪史_第33张图片
这个范围就是照片的轮廓
才能保证样本与原图的大小一致

使用这三个模型可以大大提高效率

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