MVE-Ubuntu手工打造的三维重建软件(依赖很少的第三方库)
参考博客:
https://blog.csdn.net/Zhangwellyear/article/details/79951715
https://blog.csdn.net/eshen7175/article/details/82316257
https://blog.csdn.net/qq_18882399/article/details/79687836最后
测试机器配置:
虚拟机VM14 Pro ubuntu16.04 分配大小60G,内存四G,核心数3核
主机配置i7-8750H,GTX1060
工程页面:
https://www.gcc.tu-darmstadt.de/home/proj/mve/
依赖:
System requirements to compile and run MVE or UVME are:
- libjpeg (for MVE, http://www.ijg.org/)
- libpng (for MVE, http://www.libpng.org/pub/png/libpng.html)
- libtiff (for MVE, http://www.libtiff.org/)
- OpenGL (for libogl in MVE and UMVE)
- Qt 5 (for UMVE, http://www.qt.io)
MVE-Users-Guide
https://github.com/simonfuhrmann/mve/wiki/MVE-Users-Guide
url:
https://github.com/simonfuhrmann/mve
mve
https://www.gcc.tu-darmstadt.de/home/proj/mve/
sudo apt-get install libjpeg-dev
sudo apt-get install libtiff-dev
sudo apt-get install libpng-dev
============================================
openGL
01--首先不可或缺的就是编译器与基本的函式库
sudo apt-get install build-essential
02--安装OpenGL Library
sudo apt-get install libgl1-mesa-dev
03--安装OpenGL Utilities
// OpenGL Utilities 是一组建构于 OpenGL Library 之上的工具组,
// 提供许多很方便的函式,使 OpenGL 更强大且更容易使用
sudo apt-get install libglu1-mesa-dev
04--安装OpenGL Utility Toolkit
// OpenGL Utility Toolkit 是建立在 OpenGL Utilities 上面的工具箱,
// 除了强化了 OpenGL Utilities 的不足之外,也增加了 OpenGL 对于视窗介面支援。
sudo apt-get install libglut-dev
注意:在这一步的时候,可能会出现以下情况,shell提示:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libglut-dev
将上述sudo apt-get install libglut-dev命令改成
sudo apt-get install freeglut3-dev即可。
最后
sudo apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev
============================================
3-构建完整的pipeline
./makescene -i <image-dir> <scene-dir>
./sfmrecon <scene-dir>
./dmrecon -s2 <scene-dir>
./scene2pset -F2 <scene-dir> <scene-dir>/pset-L2.ply
./fssrecon <scene-dir>/pset-L2.ply <scene-dir>/surface-L2.ply
./meshclean -t10 <scene-dir>/surface-L2.ply <scene-dir>/surface-L2-clean.ply
其中每条命令进入mve/apps/下相应模块执行,image-dir为原图像所在完全路径,scene-dir为处理后数据的完全路径
4-ply数据的可视化
将scene-dir下的clean后的.ply文件导入meshlab进行可视化展示。
以上都是别的博客的主要内容复制,接下来我们写自己的流程
*************************************************
sudo apt-get install libpng-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libtiff-dev
sudo apt-get install build-essential libgl1-mesa-dev
sudo apt-get install freeglut3-dev
sudo apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev
*************************************************
cd mve
make -j8
gedit ~/.bashrc
# 一共14个
export PATH="/home/apple/Documents/120/mve-master/apps/bundle2pset:$PATH"
export PATH="/home/apple/Documents/120/mve-master/apps/dmrecon:$PATH"
export PATH="/home/apple/Documents/120/mve-master/apps/featurerecon:$PATH"
export PATH="/home/apple/Documents/120/mve-master/apps/fssrecon:$PATH"
export PATH="/home/apple/Documents/120/mve-master/apps/makescene:$PATH"
export PATH="/home/apple/Documents/120/mve-master/apps/mesh2pset:$PATH"
export PATH="/home/apple/Documents/120/mve-master/apps/meshalign:$PATH"
export PATH="/home/apple/Documents/120/mve-master/apps/meshclean:$PATH"
export PATH="/home/apple/Documents/120/mve-master/apps/meshconvert:$PATH"
export PATH="/home/apple/Documents/120/mve-master/apps/prebundle:$PATH"
export PATH="/home/apple/Documents/120/mve-master/apps/scene2pset:$PATH"
export PATH="/home/apple/Documents/120/mve-master/apps/sceneupgrade:$PATH"
export PATH="/home/apple/Documents/120/mve-master/apps/sfmrecon:$PATH"
export PATH="/home/apple/Documents/120/mve-master/apps/umve:$PATH"
数据集下载地址:
总地址
http://download.hrz.tu-darmstadt.de/media/FB20/GCC/mve_datasets/
分地址
http://download.hrz.tu-darmstadt.de/media/FB20/GCC/mve_datasets/mve-kermit-20151002.tar.gz
http://download.hrz.tu-darmstadt.de/media/FB20/GCC/mve_datasets/der_hass-20140923.tar.gz
http://download.hrz.tu-darmstadt.de/media/FB20/GCC/mve_datasets/citywall-20140923.tar.gz
http://download.hrz.tu-darmstadt.de/media/FB20/GCC/mve_datasets/mve-achteck_turm-20130528.tar.gz
http://download.hrz.tu-darmstadt.de/media/FB20/GCC/mve_datasets/mve-reader-20150428.tar.gz
http://download.hrz.tu-darmstadt.de/media/FB20/GCC/mve_datasets/pineapple.tar.gz
一、输入命令1:
makescene -i der_hass-20140923 ynh_01
命令解释:
der_hass-20140923代表的是待处理的数据集
ynh_01代表的是处理后输出的存放数据的文件夹
二、输入命令2:
sfmrecon ynh_01
很慢很慢 特征检测 特征匹配 79张图,检测 79次,匹配 78+77+76+75...+1=3081
三、输入命令3:
dmrecon -s2 ynh_01
时间也是很长很长
四、输入命令4:
scene2pset -F2 ynh_01 ynh_01/pset-L2.ply
运行速度很快
五、输入命令5:
fssrecon ynh_01/pset-L2.ply ynh_01/surface-L2.ply
运行速度很慢
六、输入命令6:
meshclean -t10 ynh_01/surface-L2.ply ynh_01/surface-L2-clean.ply
运行速度很快
ubuntu16.04 安装meshLab查看点云文件
sudo apt-get install meshlab
打开pset-L2.ply
没有显示任何东西
因为mashLab不能打开点云好像
使用我们自己的
14332174个点,挺大的
打开pset-L2.ply
打开surface-L2-clean.ply
MVE-Ubuntu手工打造的三维重建软件(依赖很少的第三方库)相关推荐
- Spring当中循环依赖很少有人讲,今天让我们来看看吧
网上关于Spring循环依赖的博客太多了,有很多都分析的很深入,写的很用心,甚至还画了时序图.流程图帮助读者理解,我看了后,感觉自己是懂了,但是闭上眼睛,总觉得还没有完全理解,总觉得还有一两个坎过不去 ...
- Spring当中循环依赖很少有人讲,今天一起来学习!
网上关于Spring循环依赖的博客太多了,有很多都分析的很深入,写的很用心,甚至还画了时序图.流程图帮助读者理解,我看了后,感觉自己是懂了,但是闭上眼睛,总觉得还没有完全理解,总觉得还有一两个坎过不去 ...
- iOS架构-静态库.framework之依赖第三方库(7)
需求分析: 把自己的能力封装成静态库提供给客户使用,但是有些工作市场上已经有很好的公开的代码,或者成本很低的解决方案,我们就可以使用别人公开的.或者低成本采购的技术来为我们服务.制作静态库也是 ...
- [Ubuntu] apt 添加第三方库
1. 方法一:直接在 /etc/apt/sources.list 添加第三方库. $ sudo vi /etc/apt/sources.list在其中添加:deb http://archive.scr ...
- MVE(Multi-View Enviroment)三维重建
对于三维重建,绝大部分的人应该都是用Bundler + CMVS-PMVS进行三维重建,有篇博文写的很详细,亲测可用:Bundler + CMVS-PMVS 不过另一个三维重建的开源工具,在国内好像很 ...
- ubuntu装后的常用软件的安装与配置
一.配置 ADSL 拨号上网 sudo pppoeconf 然后按照提示一步一步操作即可. 注意它会提示你是不是开机自动连接上网,选择是,每次开机就会自动拨号. 二.修改为国内源 我这里使用 cn99 ...
- ubuntu下安装优化调节软件——ubuntu tweakailurus
软件名称:Ubuntu Tweak Ailurus Ubuntu Tweak界面 Ailurus界面 功能:系统调节和优化 我的安装环境:Ubuntu 10.04 两款软件都是系统优化辅助软件,前者大 ...
- Ubuntu 装机必备设置与软件安装
最近下载了新版本的Ubuntu,Ubuntu17.04,裸机总是让人很头疼,今天我把虚拟机回复成原始状态,打算重新练习装一下软件: 这篇博客将会展示以下方面: 添加root管理 将界面变为中文 添加搜 ...
- 如何在 Ubuntu 中安装和删除软件
文章目录 1.Ubuntu Software 1.1.使用Ubuntu软件中心安装软件[推荐] 1.2.使用Ubuntu软件中心删除软件[推荐] 2..deb 文件 2.1.使用 .deb 文件在 U ...
最新文章
- 一些实用的Javascript代码
- 总结一哈JDK和Tomcat的环境变量配置
- 使用jedis实现Redis消息队列(MQ)的发布(publish)和消息监听(subscribe)
- python tornado 工程范例
- 来!喝杯可乐!让你秒懂 MVP 架构模式 | 原力计划
- 无约束最优化(二) 共轭方向法与共轭梯度法
- 解决unity3d发布的网页游戏放到服务器上无法使用的问题
- 人工智能技术专家系统
- 开通慢直播,RTMP协议和RTSP协议如何选择?
- 什么是网络操作系统?网络操作系统具有那些基本功能?
- dcp7080d怎么加墨粉_兄弟打印机DCP 7080D提示更换墨粉该怎么办-
- 微信小游戏开发怎么选游戏引擎
- 电子计算机出现的背景,世界第一台电子计算机产生的背景是什么
- 计算机硬盘最小容量是多少,通常计算机的存储容量是多少?
- html5弹性盒做成骰子,弹性盒制作骰子
- Elasticsearch 7.X RESTful 风格 高级查询
- 蓝桥杯真题系列:第十一届蓝桥杯C语言B组集锦
- USB之Cyusb3014芯片原理之三GPIF原理(十一) 2022-03-08
- pgsql处理文档类型数据_PostgreSQL 基本数据类型及常用SQL 函数操作
- 微信小程序修改switch组件的大小