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

首先设置个坐标系才好操作

然后如何只保存我需要的范围内的要素

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

最好是对影像处理
获取其轮廓线,然后再进行裁剪
这里尝试了很多方法,最好的方式是导入图像的时候就可以获取其轮廓
查看这篇文章

得到轮廓后
点击“ArcToolbox”—“分析工具”—“提取”—“裁剪”
在打开的“裁剪”界面,选择输入要素(即要被裁剪的要素)
选择裁剪要素(即用来裁剪要素的范围线)
选择裁剪结果的存放位置,选择好之后,点击“确定”。
就可以保留我需要的范围的线要素啦

道路添加缓冲区

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

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

制作样本时需要将线状的道路转换成面状
上面缓冲区的方法可以直接得到面状道路
但是那种不闭合的双线道路怎么处理呢
如下图所示
这种情况就不能使用缓冲区,因为此时不是道路中心线
虽然可以通过手动封闭线
再转为面状,但这样操作着实很繁琐
这里有个很简便的方法
使用栅格工具箱中的膨胀收缩
首先要把要素转为栅格,我这里设置的分辨率0.1,方便计算
得到栅格图片后
在spatial analyst 工具->栅格综合->散度(这个就是膨胀操作,我当时也找了好久)上面就是收缩

散度和收缩都需要输入像元数目,这里的意思是需要膨胀多少个像素
收缩也差不多,需要手动输入收缩的像素值

为了提取道路,这里膨胀和收缩的值为略大于二分之一道路的宽度
那么怎么知道道路的宽度呢
使用arcgis的测量功能

测量道路的最大宽度

而我的整个图片是606*606的大小
也可以用这个工具测量一下
我的图片分辨率是0.1
那么你也可以知道道路是410个像素啦
那么我大概就把膨胀的像素值设为210
膨胀出来是这样

接下来收缩,收缩的值要与膨胀的值一样也是210
结果如下

宽度合适的道路是可以正确并且快速的提取出来,而且直接就是栅格,若是效果不错可以直接保存
但是周围分散出去的细长道路就容易产生错误
同时由于栅格无法直接进行修改
且存在准确度无法预测的问题
但这样确实速度很快

这种比较简单的路用这种方法产生了一些bug
用软件不好解决

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

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

建立缓冲区后的面要素转换为栅格要素
转换工具->转为栅格->面转栅格

这样设置同一层数据就是相同的颜色
之后设置颜色为白色

接下来右键数据导出

即可导出需要的图片啦

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

这个问题用图片描述形容一下:
比如我保存之后样本是这样的

但是原图是这样的

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

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

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

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

这里有个坑!!!!
我自己摸索出来的方法是通过使用数据框
大家可以先看看,不要学习这个方法!!!不然要重新返工
是有bug的!!!!!
这里的方法就是使用数据框

数据框如何设定为我们自己需要的图片大小呢
这里图层右键属性


就可以在这里修改数据框大小啦
设定成固定范围
就可以选择某一个图层的大小

这样保存的时候这样设置
这样大小就可以自定义啦

这样即使图片下半部分没有要素
也可以保存下来与原图保持一致啦


虽然我设定的数据框大小是图片的大小
但其实很多时候他并不是标准的6060*6060
而是如图所示
并不是完美的贴合轮廓

经过一系列尝试,在进行面转栅格时需要在这里进行设置即可

这个页面点击环境。。。


就可以在这里设置处理范围了
处理范围可以设某一个图层
这样转出的栅格就是完美的6060*6060大小了

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

这里做出来png图片之后加载到图层里竟然显示不出来!!!
震惊!
需要修改一下相关显示
设置拉伸方法为None即可

这样就可以显示啦
但是保存之后直接加载png是能够与tif格式的图片重合的
但是你若不马上加载
而是把图片导入,就根本不能与tif图片重合
修改了坐标系使png与tif图片坐标系相同也还是重合不了

png与tif图片无法重合

由于我保存设置了png图片的坐标系
我就一直以为png图片也是有坐标的
直到我在arcgis里打开png图片

会提示这个,查看它的属性

怎么回事????我明明保存的时候设置了坐标系
这是由于png格式保存时丢失了图片的坐标信息和范围信息
这样才能尽可能地压缩图片大小,哭泣
而tif格式的图片是有这些信息的

这里有个办法:
在上面的保存页面,不直接保存成png
而是保存成tif

再通过修改后缀将tif改成png
则可以使得png图片拥有坐标系和图片范围,完美解决这个问题
这样就可以使得png图片和tif图片重合

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


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

1、裁剪模型:

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

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

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


这个模型把要素转面
没问题则进行下一个模型

3、面转栅格
这里要把单线面与双线面合并
合并的工具有些不好找
在数据管理工具->常规->合并

然后进行转栅格的时候需要注意添加一个“范围”

这个范围就是照片的轮廓
才能保证样本与原图的大小一致

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

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

  1. 二、代码实现深度学习道路训练样本数据的制作(代码部分详解)——重复工作+多次返工的血泪史

    使用python读取文件夹对图片进行批量裁剪 通过第一部分操作arcgis制作了一部分样本数据 分辨率与原相片保持一致 为6060*6060 具体如图所示: 而我们深度学习一般使用的分辨率是1024和 ...

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

    前面使用了arcgis将线状转变为了面状 虽然可以一张图一张图的获取 并且在这个过程中进行重命名 但人工成本太高 这里我获取到了河流的所有面状样本,如图 如果还按照一.教程的方法来弄(点击跳转看看一张 ...

  3. 六、软件实现深度学习河流训练样本数据的制作(软件操作完善训练样本)——针对标签图片问题的进一步完善

    这里进行到最后发现了标签的一些问题 具体问题忘了的朋友可以戳这里进行回顾 欲哭无泪 今天开会与老师同学们讨论后 1.原图白色区域不能作为河流样本存在,也就是说对于DOM图片白色的区域标签得是黑色的背景 ...

  4. 笔记 | 百度飞浆AI达人创造营:深度学习模型训练和关键参数调优详解

    笔记 | 百度飞浆AI达人创造营:深度学习模型训练和关键参数调优详解 针对特定场景任务从模型选择.模型训练.超参优化.效果展示这四个方面进行模型开发. 一.模型选择 从任务类型出发,选择最合适的模型. ...

  5. 深度学习模型训练和关键参数调优详解

    深度学习模型训练和关键参数调优详解 一.模型选择 1.回归任务 人脸关键点检测 2.分类任务 图像分类 3.场景任务 目标检测 人像分割 文字识别 二.模型训练 1.基于高层API训练模型 加载数据集 ...

  6. 深度学习之目标检测(十一)--DETR详解

    深度学习之目标检测(十一)-- DETR详解 目录 深度学习之目标检测(十一)-- DETR详解 1. 前言 2. DETR 框架 2.1 CNN Backbone 2.2 Transformer E ...

  7. 【深度学习】扩散模型(Diffusion Model)详解

    [深度学习]扩散模型(Diffusion Model)详解 文章目录 [深度学习]扩散模型(Diffusion Model)详解 1. 介绍 2. 具体方法 2.1 扩散过程 2.2 逆扩散过程 2. ...

  8. Keras深度学习实战(22)——生成对抗网络详解与实现

    Keras深度学习实战(22)--生成对抗网络详解与实现 0. 前言 1. 生成对抗网络原理 2. 模型分析 3. 利用生成对抗网络生成手写数字图像 小结 系列链接 0. 前言 生成对抗网络 (Gen ...

  9. Keras深度学习实战(26)——文档向量详解

    Keras深度学习实战(26)--文档向量详解 0. 前言 1. 文档向量基本概念 2. 神经网络模型与数据集分析 2.1 模型分析 2.2 数据集介绍 3. 利用 Keras 构建神经网络模型生成文 ...

最新文章

  1. 利用css对shiny页面优化及利用htmlwidgets包创建HTML控件
  2. Java SE 重点知识笔记
  3. 女生适不适学习Java编程
  4. 《高效程序员的45个习惯》-之二
  5. C 语言 结构类型 结构
  6. Codeforces Round #503 (by SIS, Div. 2)
  7. 三角网格上高斯曲率和平均曲率
  8. 在LabWindows/CVI中程控的调整表格控件的属性
  9. 评:10月PMI指数新高, 带动大盘逆转, 跨年度业绩行情展开
  10. 石家庄推进智慧城市建设 数字校园将覆盖所有学校
  11. 手机云台——灵眸Osmo Mobile 2
  12. 数学建模 —— 规划模型
  13. jstack 工具 查看JVM堆栈信息
  14. 快速批量微信dat格式转换为jpg
  15. Spring boot快速开发Rest服务
  16. 服务器操作系统该选 Debian/Ubuntu 还是 CentOS?
  17. flink sql报错:Bang equal ‘!=‘ is not allowed under the current SQL conformance level
  18. <笔试> 回转寿司题解 动态规划
  19. CodeForces-916C-Jamie and Interesting Graph
  20. 【BZOJ3309】DZY Loves Math

热门文章

  1. js中的var是什么意思
  2. AI留给人类的时间已不多:《未来简史》作者赫拉利Nature来信
  3. JavaSE_Java/C++模拟实现二叉树、C++/Java四种二叉树遍历题型(递归、非递归、Morris)遍历
  4. R语言学习笔记——入门篇:第一章-R语言介绍
  5. Hadoop权威指南(第三版)笔记——HDFS
  6. 去哪里了?几部关于IT的剧推荐
  7. JAVAWEB开发之——Linux命令总结
  8. centos7.6 服务器搭建Java环境(若依--srs)
  9. 无法成功执行catalog.sql,ORA-04045 ORA-04064
  10. Tomcat 启动时报 java.net.BindException: Address already in use[localhost:8005]