纹理映射部分主要编译运行了Github上两个以C++为主的源代码:G2LTex和mve两部分。

G2LTex

G2LTex源码链接:https://github.com/fdp0525/G2LTex
项目的输入数据集目录结构:

|——apt0|——apt0|  |——color_00.jpg(彩色图像序列)|  |——…………|  |——color_**.jpg|  ||  |——color_01.png(深度图像序列)|  |——…………|  |——color_**.png|  ||  |——color_01.cam(相机位姿)|  |——……………|  |——color_**.cam||——data.ply//(要进行重建对象的的格网模型)

进入G2LTex主目录,运行:

./bin/G2LTex Data/apt0/apt0 Data/apto/apt0.ply

//生成的文件目录后续补充(Data/apt0目录下生成result.obj等文件。)

运行时遇到的错误:Could not load image header of Data/apt0/apt0/color_00.jpg

tok:Data/apt0/apt0
tok:Data/apt0/apt0.ply
PLY Loader: comment VCGLIB generated
Reading PLY: 347095 verts... 665321 faces... done.Removed 150 redundant faces.
Generating texture views:
-----------tok ext size:12
Failed to open settings file at:
depth fx:0 fy:0 cx:0 cy:0 width:0 height:0
RGB fx:0 fy:0 cx:0 cy:0 width:0 height:0
Global depth:0 RGB:0
Local RGB:0 edge:0  Reg:0
Global Iterations:0 Local Iterations:0
Could not load image header of Data/apt0/apt0/color_00.jpg
Cannot determine image format

在Github上有人问到了相类似的问题,但目前还没有得到解答,也没有详细阅读这个项目下的源码,只能等待作者及时有效的回复。
Github上问题链接地址:https://github.com/fdp0525/G2LTex/issues/18
具体纹理映射的效果可以通过项目的result目录查看所给数据集的重建效果。

MVE

mve源码链接:https://github.com/simonfuhrmann/mve
这个项目结构比较复杂功能也比较强大,其中可以具体查看他们的首页Multi-View Environment,他们也提供了数据集和相应的论文。
编译运行mvs的示例可以查看TexRecon – 3D Reconstruction Texturing
我编译测试mve的Der Hass数据集的过程可以参考下面描述:

imdir=<directory where you have your images>    //数据集目录codedir=<directory where you want to do the compilation>    //编译mve的位置
cd $codedir# Download and compile MVE  下载编译MVE
cd $codedir
git clone https://github.com/simonfuhrmann/mve.git
//可以现在Github上进行下载
make -j8 -C mve
# Compile UMVE
cd mve/apps/umve && qmake && make# Download and compile texrecon
cd $codedir
git clone https://github.com/nmoehrle/mvs-texturing.git texrecon
cd texrecon && mkdir build && cd build
cmake ..
make -j8# Image import & bundling (images --> camera parameters)
cd $imdir           //进入到数据集目录
$codedir/mve/apps/makescene/makescene -i . scene
$codedir/mve/apps/sfmrecon/sfmrecon scene# Multi-view stereo reconstruction (images + camera parameters --> depth maps)
$codedir/mve/apps/dmrecon/dmrecon -s3 scene
#-s3 downscales the images three times  缩小图像三次# Surface reconstruction (depth maps + camera parameters --> 3D model)
$codedir/mve/apps/scene2pset/scene2pset -F3 scene point-set.ply
$codedir/mve/apps/fssrecon/fssrecon point-set.ply surface.ply
$codedir/mve/apps/meshclean/meshclean -t10 -c10000 surface.ply surface-clean.ply# Texturing (3D model + images + camera parameters --> textured 3D model)
$codedir/texrecon/build/apps/texrecon/texrecon scene::undistorted surface-clean.ply textured# Inspect results
$codedir/mve/apps/umve textured.obj

mve的输入数据集的结构:

mve源码数据输入
|——data-mvs
|  |——bundle.nvm    //具体内容含义还没分析清楚
|  |——IMG_0001.jpg  //彩色图像序列
|  |——IMG_0002.jpg
|  |——………………
|  |——IMG_***.jpg

得到mve重建后的模型textured.obj重建后的模型非常清晰。


——————————————————————
对上面两个源码又有了一定的认识和理解。其中MVE是一个完整的单目三维重建项目。openMVG和openMVS这两个开源项目也提供了一个完整的单目三维重建流程。这两个项目对单个物体的最终重建效果都非常清晰。也相互测试了各自的官方数据集,效果分别如下图,但是用openMVS对MVE数据集Derhass测试时,ubuntu18.04下,报出killed,没有得到最终的重建结果。
思路还是比较混乱,可能后期清晰一点之后再回来补充。
我们目前需要和寻找的理想重建方案是一种基于采集到的深度图像进行室内实时重建的方案。目前接触测试的几个开源的rgbdslam(ORB_SLAM2为主),在测试自己的数据集时特征提取上出了很大的问题,对于官方数据集效果确实非常好。确实还有很长的路要走,还是继续了解一些三维重建的方案,先有一定的入门了解。

三维重建——纹理映射相关推荐

  1. 现代计算机三大科学计算,基于三维重建过程中纹理映射问题的研究

    基于三维重建过程中纹理映射问题的研究 科学计算可视化.计算机动画和虚拟现实已经成为计算机图形学的三大热门话题,这三大话题的技术核心均为三维图形.学术界和产业界普遍认为,纹理映射是解决真实地显示现实世界 ...

  2. 58同城招聘|三维重建、图像图形学算法工程师(校招/社招)

    3D视觉工坊致力于推荐最棒的工作机会,精准地为其找到最佳求职者,做连接优质企业和优质人才的桥梁.如果你需要我们帮助你发布实习或全职岗位,请添加微信号「CV_LAB」. 58同城VR项目组招聘 公司介绍 ...

  3. 使用 OpenMVG+PMVS实现视觉三维重建

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 一.什么是视觉三维重建? 我们知道,照相机的原理是将一个三维场景投影到二维平面.所谓视觉三维重建,顾名 ...

  4. 上帝视角任意切换:三维重建和图像渲染是怎么结合的?

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 导读 本文介绍了3D图像网站Photo Synth及其前身Photo Tourism,并讲解了它们的两 ...

  5. 点云三维重建有关原理

    3D信息采集常使用移动测绘系统(Mobile Mapping System),MMS包括移动激光扫描系统和数码相机.移动激光扫描系统主要由激光扫描仪和惯性导航系统组成,用于测量点的三维坐标和激光反射强 ...

  6. azure kinect三维点云_【干货】三维重建技术综述

    三维重建技术通过深度数据获取.预处理.点云配准与融合.生成表面等过程,把真实场景刻画成符合计算机逻辑表达的数学模型.这种模型可以对如文物保护.游戏开发.建筑设计.临床医学等研究起到辅助的作用. 三维重 ...

  7. 三维重建:三维重建技术概述

    基于视觉的三维重建,指的是通过摄像机获取场景物体的数据图像,并对此图像进行分析处理,再结合计算机视觉知识推导出现实环境中物体的三维信息. 1. 相关概念 (1)彩色图像与深度图像 彩色图像也叫作RGB ...

  8. 基于GPU的医学图像三维重建体绘制技术综述

    2019独角兽企业重金招聘Python工程师标准>>> 1 前言 随着医学图像三维重建体绘制技术的发展及其研究的深入,医生对数据的分析不再局限于简单的观察输出结果,还要求能对结果进行 ...

  9. 双目测距(六)--三维重建及UI显示

    原文: http://blog.csdn.net/chenyusiyuan/article/details/5970799 在获取到视差数据后,利用 OpenCV 的 reProjectImageTo ...

最新文章

  1. PLY库-实现最简单的sql语法的数据库
  2. 台式电脑可以练计算机二级嘛6,练习六-计算机二级考试OFFICE高级应用试卷与试题.pdf...
  3. 你需要一个首席数据官吗?
  4. 2011寒假-joomla学习笔记
  5. Lua日期与时间操作
  6. zblog php 标题优化,Zblog分类页标题重复的优化 - 张力博客
  7. React中路由组件与一般组件
  8. Raid 原理及创建软raid
  9. 现代数字图像处理---lena图像处理
  10. 文章原创度检测神器:copyscape及duplichecker
  11. 文件管理服务器搭建教程,文件服务器搭建教程
  12. 服务器数据库只读怎么修改权限,设置mysql数据库为只读权限
  13. 水花兄弟又凑齐了(20220111 Week2-1)
  14. 专访罗杰斯公司市场发展经理杨熹 谈高频材料最新发展趋势
  15. 【无代码体验】用鲸智搭替换Excel表管理数据
  16. UE4 加载外部图片作为贴图
  17. 提高网吧上座率,TG-NET网吧光纤万兆方案
  18. 【深浅拷贝的实现方式】
  19. TFT_LCD 驱动芯片 SSD1963QL9
  20. 从潞晨到世界名校,实习生火热招聘中

热门文章

  1. 中单引号怎么打出来_怎么做打出来的豆浆会更好?
  2. Servlet相关(request域转发、重定向、刷新头)(session域)
  3. 编程 态度目标_对目标持开放态度,从而推动事业发展
  4. jgGrid扩展 显示查询用时
  5. 实践 | Centos 7搭建LVS+Keepalived高可用Web服务群集群
  6. 递归函数之阶乘的实现
  7. HTML5 Canvas中绘制线段
  8. Bootstrap 滚动监听
  9. CSS 文本缩进text-indent属性
  10. php 7.2.5_CentOS7下PHP5.5.38升级PHP7.2.2