登录
加入联盟
找回密码
航空人生
新一代连飞客户端下载
空管人生
中国航空运动协会推荐
WEFLY
模拟飞行玩家聊天工具
门户
文章
商城
二手市场
外包服务
模飞软件
硬件设备
飞行体验
学院
云课堂
问答
资料下载
论坛
模拟飞行
低空飞行
太空探索
航圈
资源
素材
下载
企业
无人机论坛
»
论坛
›
无人机DIY专区
›
图像视觉
›
如何使用OpenDroneMap对航拍图像快速建模
返回列表
发新帖
查看:
429
|
回复:
1
如何使用OpenDroneMap对航拍图像快速建模
[复制链接]
aywzj
aywzj
当前离线
积分
1096
窥视卡
雷达卡
346
主题
394
帖子
1096
积分
金牌飞友
金牌飞友, 积分 1096, 距离下一级还需 1904 积分
金牌飞友, 积分 1096, 距离下一级还需 1904 积分
积分
1096
飞币
693
注册时间
2017-7-27
发消息
发表于 2022-10-22 20:32:06
|
显示全部楼层
|
阅读模式
如何使用OpenDroneMap对航拍图像快速建模
快速
,
建模
,
图像
,
航拍
,
使用
相关帖子
•
【双11无人机干货推荐】2024年10-11月航拍无人机推荐,航拍无人机怎么选?玩具|入门|中端|高端级:大疆、道通、司马、兽3等无人机选购指南!
•
上海晋申观复申请用于无人机电机全浸没冷却系统专利,提高电机的使用寿命
•
DJI大疆 Mavic 3 Pro航拍无人机灰色标准套装-购买最佳价格
•
东莞市旭翔精密金属制品有限公司取得一种无人机云台电机转子罩专利,延长无人机云台电机使用寿命
•
德向乌提供人工智能无人机 俄称允许乌使用远程武器将致局势升级
•
我们原神有自己的无人机!| 恰斯卡大世界也太好用了吧~ | 恰斯卡大世界+深渊实际使用体验分享 | 恰斯卡的三个隐患『比比叨-64』
•
湖北武创航友智能科技取得一种无人机分布式供电装置专利,能够对蓄电池进行散热操作,提高蓄电池的使用寿命
•
美国农场主,第一次使用大疆无人机惊掉下巴,直呼中国太牛逼了
•
深圳赛尔智控申请一种无人机图传画面普加航测相机信息显示方法及系统专利,提高了航测图像的质量
•
数字鹰申请一种无人机充换电机库专利,采用多种方式满足不同使用场景需求
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
1194882513
1194882513
当前离线
积分
1634
窥视卡
雷达卡
48
主题
819
帖子
1634
积分
金牌飞友
金牌飞友, 积分 1634, 距离下一级还需 1366 积分
金牌飞友, 积分 1634, 距离下一级还需 1366 积分
积分
1634
飞币
808
注册时间
2017-8-23
发消息
发表于 2022-10-22 20:46:46
|
显示全部楼层
当你驾轻就熟地用无人机拍摄了某个地区的航拍图像后,除了分享到微信朋友圈里,还可以做些什么呢?或许 OpenDroneMap 能助你开启思路。
OpenDroneMap 是一个开源的航拍图像处理工具,可以把航拍图像进行点云、正射影像和高程模型等转换处理。
一般的无人机用的都是「傻瓜式」的相机,其实这跟你用手机或普通数码相机拍的没差,只是拍摄的角度不一样而已。它们拍出来的照片都是非量测影像(non-metric imagery),而 OpenDroneMap 则可以将这些非量测影像转换成三维地理建模数据,并应用在地理信息系统中。
具体而言,OpenDroneMap 可以将航拍图像处理为下面几种格式的数据:
点云(Point Clouds)
纹理数字表面建模(Textured Digital Surface Models)
正射校正影像(Orthorectified Imagery)
数字高程模型(Digital Elevation Models)
……
使用方法
OpenDroneMap 支持 Docker,这意味着你可以在不同的操作系统上运行 OpenDroneMap。下面以 Mac OS 为例,介绍 OpenDroneMap 的使用方法。
1、安装 Docker CE
到 Docker 官网 找到并下载适用于你所使用的操作系统的 Docker CE 版本(Docker EE 是企业版,暂时用不上)。经过「傻瓜式」的安装后,可以在 Terminal 上输入 docker --version 检验 Docker 是否安装成功。
2、下载 OpenDroneMap 的镜像
确认 Docker 成功安装后,在 Terminal 上输入以下指令:
docker pull opendronemap/opendronemap
Docker 就会从 Docker Hub 中下载 OpenDroneMap 的镜像到本地中。为提高下载速度,建议提前使用 Proxifier 之类的工具(建议自行 Google)让 Terminal 走上代理道路。镜像下载完成后,在 Terminal 输入 docker images 指令,就能查看到刚才下载的 OpenDroneMap 的镜像了。
3、创建文件目录
在 Finder 上任意一目录新建一个名为 images 的文件夹,作为待处理图片的存放位置。我的习惯是以「项目名 / images」的方式来对目录进行命名,这样能更直观地管理文件。比如:
//odm_test_1/images
//odm_test_2/images
接下来,就需要把你需要进行处理的航拍影像拷贝到 images 文件夹中了,如果你暂时没有这些航拍图像的话,
我在网站上下载了「aukerman」素材的图像文件,这个范例素材似乎是对某个绿化公园连续拍摄的航拍图像,查看每个图像文件的 info(Command + I),都能找到它的经纬度信息。我们可以用 OpenDroneMap 对这些文件进行「正射影像(拼接)」和「纹理网面建模」的处理。
4、运行 OpenDroneMap
在航拍图像文件拷贝到 images 目录以后,打开 Terminal 并定位到项目文件夹(比如 odm_test_1)中,执行以下指令:
docker run -it --rm \
-v $(pwd)/images:/code/images \
-v $(pwd)/odm_orthophoto:/code/odm_orthophoto \
-v $(pwd)/odm_texturing:/code/odm_texturing \
opendronemap/opendronemap
指令的作用是:通过 OpenDronMap 对 odm_test_1/images 目录下的图像文件同时进行「正射影像(odm_orthophoto)」和「纹理网面建模(odm_texturing)」的图像处理(作为测试,为了节省时间,你可以只选取 odm_orthophoto 或 odm_texturing 其中一种处理方式):
指令解释:
docker run -it --rm
Docker 的运行指令。-it 指让 Docker 分配一个伪输入终端并以交互模式运行容器;--rm 是指在容器运行完之后自动清除以节省电脑存储空间。
-v $(pwd)/images:/code/images
-v 是用来将本地目录绑定到容器中的,在本例子中,是让 OpenDroneMap 知道待处理的照片在哪里;冒号前面,代表的是本地 images 路径,其中 (pwd) 代表当前 Teminal 定位目录的绝对路径,你可以更改为其他目录的绝对路径;冒号后面,是指容器的路径,这个是不能更改的。
-v $(pwd)/odm_orthophoto:/code/odm_orthophoto
这行指令,是指希望使用 OpenDroneMap 对图像文件进行怎么样的处理,你可以根据项目的需要,输入不同的处理指令,OpenDroneMap 提供了以下几种处理方式:
odm_meshing # 3D 网面建模
odm_texturing # 纹理网面建模
odm_georeferencing # 地理配准后的点云图
odm_orthophoto # 正射影像图
opendronemap/opendronemap
这是指明需要调用的镜像,这里是调用 Repository 为 opendronemap/opendronemap 的镜像,可以用该镜像的 tag(如果有设置的话)和镜像 ID 替代。
5、查看结果
指令执行后,就交给程序去处理了。运行时间可能会稍长,请耐心等候,一切顺利的话,Terminal 就会下面的提示:
然后在项目的文件夹中(比如 odm_test_1),就能在 odm_orthophoto 和 odm_texturing 目录中看到对应的输出结果了。
正射影像的输出结果的 png 预览图:
或许有朋友会说,最后还不是一张常见的无人机俯视航拍图,但其实 odm_orthophoto 的输出结果还有一个后缀为 tif 的 GeoTIFF 文件,这可以应用在 QGIS 上作为光栅图层,供地理信息分析之用(比如实现地图的修测更新)。
小结
上述教程中的 GIS 术语可能翻译得不够到位,如有不妥的地方望请指出。
整体来说,有 docker 这样的工具能很大程度上减少配置开发环境的时间,也简化了不少的操作步骤,不过需要注意的是 OpenDroneMap 的项目还是挺占用电脑空间的,所以在操作之前,最好能确保电脑有足够的剩余空间。
上面的例子采用的是范例素材的航拍图像,如果要实际应用到自己的项目中,则需要自己使用无人机,结合相关软件的航线规划和定时拍摄功能,对某一个地区进行连续拍摄,将拍摄的图像文件导入到「images」文件夹中,再按教程步骤执行就能实现数据处理了。
此外,Docker 也有 Windows 版本,把教程中 Terminal 的操作换成 Windows 系统的 Cmd,或许也能实现(没有尝试过,所以不敢打包票)。
回复
支持
反对
使用道具
举报
照妖镜
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
加入联盟
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表