colmap+openMVS稠密重建

简要记录一下colmap+openMVS稠密重建相关使用

openMVS的sample使用

  1. 测试数据集下载
    链接:https://pan.baidu.com/s/13T04aKJ2OB6_RX7IMMGhpg 提取码:oxkp
  2. 运行测试
    将data放在OPENMVS/路径下。
cd ~/Documents/OPENMVS/openMVS/openMVS_build
./bin/DensifyPointCloud -w ../../data/ -i scene.mvs -o test_dense.mvs

生成的稠密点云结果如下所示:
稠密点云结果

colmap稀疏重建导出SFM参数

windows下的稠密重建教程:colmap稠密三维重建

colmap进行稀疏重建主要有以下几个步骤:

  • 项目文件夹下包括images文件夹、sparse文件夹、dense文件夹
  • 新建项目、db文件、选择images文件夹
  • Feature extraction:其中默认相机模型为SIMPLE_RADIAL,修改成PINHOLE,openMVS只支持PINHOLE模型。
  • Feature matching:默认
  • Start Reconstuction:进行稀疏重建
  • 导出txt文件:File→Export model as txt→选择sparse文件夹,可以看到sparse文件夹下有cameras.txt、images.txt、points3D.txt这三个文件,即为所需的位姿参数。

稀疏重建结束,可以看到SFM的结果如下:
在这里插入图片描述

注:我使用SIMPLE_RADIAL相机模型导出了cameras.txt,在cameras.txt中将所有SIMPLE_RADIAL直接修改为PINHOLE后保存,再使用openMVS重建,得到的效果非常奇怪,最后重新跑了一遍稀疏重建,相机模型选择PINHOLE,得到的重建结果正常。

openMVS稠密重建

  1. 将colmap位姿转换成openMVS格式
  • 项目目录结构:
    在这里插入图片描述

  • openMVS/openMVS_build/bin,有InterfaceCOLMAP接口。

  • box文件夹下有images和sparse两个文件夹,其中images为图片,sparse下为SFM生成的3个txt文件。

  • cd openMVS/openMVS_build

  • ./bin/InterfaceCOLMAP -i /home/juling/Documents/OPENMVS/box -o box.mvs

  • -i 是包含images和sparse文件夹的目录。

  • -o 是生成.mvs文件保存的路径。-o box.mvs表示在openMVS_build目录下生成box.mvs。

注:生成.mvs文件的路径貌似不能设置保存到自定义路径,设置保存到自定义路径是可以保存成功的,但在进行稠密点云重建时会出现路径错误,无法读取图片。所以默认设置-o box.mvs在openMVS_build目录下生成box.mvs,然后将这个文件复制到box下使用,就不会出现稠密重建读不到图像的问题。

  1. openMVS稠密重建
  • cd ~/Documents/OPENMVS/openMVS/openMVS_build
  • 稠密重建:./bin/DensifyPointCloud -w ../../box/ -i box.mvs -o box_dense.mvs,会在box目录下生成深度图、box_dense.mvs、box_dense.ply文件。查看稠密重建的结果可用MeshLab打开ply文件,也可使用openMVS提供的Viewer接口查看./bin/Viewer ../../box/box_dense.mvs
  • 曲面重建:./bin/ReconstructMesh -w ../../box/ -i box.mvs -o box_mesh.mvs生成box_mesh.mvs以及box_mesh.ply。
  • 网格细化:
  • 纹理贴图:

稠密重建结果如下:
在这里插入图片描述参考:
[1] MVS三维重建概述与OpenMVS开源框架配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/142787.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【超详细Vue2教程】超详细的Vue2入门教程,让你的开发效率大大提高(自己整理的笔记,超详细!)

十一,Vue 声明:图片资源来自于黑马程序员公开学习资料 本人在学习当中,详细整理了笔记,供大家参考学习 11.1 Vue2 11.1.1 Vue简介 1-1 vue 框架的特性 // 数据驱动视图 // 双向数据绑定1-2 数据驱动视图 在使用了 vue 的页…

什么是内容运营?

关于内容运营,在不同种类的公司,侧重点也不一样。 电商平台的内容运营岗更偏内容营销;产品功能比较简单的公司,内容运营和新媒体运营的岗位职责差不多;而内容平台的内容运营更多的是做内容的管理和资源整合。

Selenium Web自动化测试 —— 高级控件交互方法!

一、使用场景 使用场景对应事件复制粘贴键盘事件拖动元素到某个位置鼠标事件鼠标悬停鼠标事件滚动到某个元素滚动事件使用触控笔点击触控笔事件(了解即可) https://www.selenium.dev/documentation/webdriver/actions_api 二、ActionChains解析 实例…

国庆中秋特辑(四)MySQL如何性能调优?上篇

MySQL 性能优化是一项关键的任务,可以提高数据库的运行速度和效率。以下是一些优化方法,包括具体代码和详细优化方案。 接下来详细介绍,共有10点,先介绍5点,下次再介绍其他5点 1. 优化 SQL 语句 1.1 创建索引 创建…

目标识别项目实战:基于Yolov7-LPRNet的动态车牌目标识别算法模型

目标识别项目:基于Yolov7-LPRNet的动态车牌目标识别算法模型(一) 前言 目标识别如今以及迭代了这么多年,普遍受大家认可和欢迎的目标识别框架就是YOLO了。按照官方描述,YOLOv8 是一个 SOTA 模型,它建立在以前 YOLO 版本的成功基…

本地电脑搭建SFTP服务器,并实现公网访问

本地电脑搭建SFTP服务器,并实现公网访问 文章目录 本地电脑搭建SFTP服务器,并实现公网访问1. 搭建SFTP服务器1.1 下载 freesshd 服务器软件1.3 启动SFTP服务1.4 添加用户1.5 保存所有配置 2. 安装SFTP客户端FileZilla测试2.1 配置一个本地SFTP站点2.2 内…

全网最全Python系列教程(非常详细)---字符串讲解(学Python入门必收藏)

🧡🧡🧡这篇是关于Python中字符串的讲解,涉及到以下内容,欢迎点赞和收藏,你点赞和收藏是我更新的动力🧡🧡🧡 本文将从以下几个方面展开对字符串的讲解: 1、字…

【数据结构】—超级详细的归并排序(含C语言实现)

​ 食用指南:本文在有C基础的情况下食用更佳 🔥这就不得不推荐此专栏了:C语言 ♈️今日夜电波:斜陽—ヨルシカ 0:30━━━━━━️💟──────── 3:20 …

1.物联网射频识别

1.RFID概念 RFID是Radio Frequency Identification的缩写,又称无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需与被识别物体建立机械或光学接触。 RFID(Radio Frequency Identificati…

前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(二)

思维导图 一、事件监听&#xff08;绑定&#xff09; 1.1 事件监听 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name&q…

学物联网有前途吗?

学物联网有前途吗&#xff1f; 物联网即“万物相连的互联网”&#xff0c;是互联网基础上的延伸和扩展的网络&#xff0c;将各种信息传感设备与互联网结合起来而形成的一个巨大网络&#xff0c;实现在任何时间、任何地点&#xff0c;人、机、物的互联互通。最近很多小伙伴找我&…

这个国庆场景下的创意数据应用,体现了数字经济时代的商业价值

在生成式AI爆火的2023年&#xff0c;数据协作和数据交换的商业价值越来越明显。大模型的训练正需要海量跨领域数据的“投喂”&#xff0c;才能真正创造商业价值涌现的奇迹。而如何在保护数据安全的前提下&#xff0c;有效发挥数据资产的商业价值&#xff0c;成为企业数字化亟需…

钉钉自动打卡

钉钉自动打卡 1.准备2.测试3.修改4.效果 因为一系列原因&#xff0c;本人咸鱼50块钱淘了一个小米note移动4G&#xff0c;系统是MIUI6&#xff0c;因为版本太老了&#xff0c;所以不能设置自动开启应用&#xff0c;所以就用了adb,链接电脑&#xff0c;定时跑程序&#xff0c;按按…

SELinux 介绍

背景 在工作中经常需要在 android 中增加一些东西&#xff0c; 而android有自己的安全限制&#xff0c;如果不懂SELinux&#xff0c;就不好添加。 Control Access Model https://zh.wikipedia.org/wiki/Chmod https://linux.die.net/man/1/chcon DAC DAC and Trojan Horses D…

【SpringBoot项目】SpringBoot+MyBatis+MySQL电脑商城

在b站听了袁老师的开发课&#xff0c;做了一点笔记。 01-项目环境搭建_哔哩哔哩_bilibili 基于springboot框架的电脑商城项目&#xff08;一&#xff09;_springboot商城项目_失重外太空.的博客-CSDN博客 项目环境搭建 1.项目分析 1.项目功能&#xff1a;登录、注册、热销…

linux下CentOS安装mysql-5.7

linux下安装mysql只需要在root用户下安装&#xff0c;普通用户也能使用 1.检查&#xff1a; 通过以下两条命令查看改系统下是否已存在mysql。 ps ajx | grep mysql ps ajx | grep mariadb通过指令如果只显示如下两条信息&#xff0c;则当前系统下不存在MySQL。 就可以直接进…

区块链实验室(27) - 区块链+物联网应用案例

分享最新的区块链物联网应用案例&#xff1a;HPCLS-BC

PHP禁止单个用户多设备同时登陆,限制单个用户在多端重复登录

逻辑简单,主要是3点&#xff1a; 1.登录的时候写入一个最新的登录IP到user表其中一个last_login_ip字段 2.登录成功的时候,转入到index控制器或者index方法之前先进行查询&#xff1a; 1).当前IP 2).数据库字段当前用户存储的last_login_ip里面的IP 3.然后进行判断&#xff0…

虹科方案 | 车辆总线数据记录仪解决方案

全文导读&#xff1a;针对车辆总线的数据记录&#xff0c;虹提出的解决方案是利用CANedge系列的CAN/LIN总线数据记录仪&#xff0c;根据不同的使用场合和传输方式&#xff08;SD卡/WiFi/3G/4G&#xff09;&#xff0c;选择相应的产品轻松记录车辆中的总线数据&#xff0c;助力您…

Redis高可用之持久化、主从复制(附配置实例)

目录 一、Redis高可用1.1 简介1.2 高可用策略 二、Redis 持久化2.1 简介2.2 redis 的 2 种持久化方式2.2.1 RDB持久化2.2.2 AOF持久化 三、Redis主从复制3.1 什么是主从复制&#xff1f;3.2 为什么要用主从复制&#xff1f;3.3 主从复制的特性3.4 主从复制工作原理3.4.1 全量复…