openMVG +PMVS-CMVS传统方法重建 复现的记录(侧重于报错解决,编译,运行给了比较好的链接)

openMVG +PMVS-CMVS传统方法重建 复现的记录

  • openMVG +PMVS-CMVS传统方法重建 复现的记录
    • openMVG 编译配置,运行可参考的链接:
      • openMVG 源码下载说明:
      • openMVG 编译配置,运行可参考的链接:
      • 照片数据集下载:
    • openMVG 运行出问题解决办法汇总
    • PMVS,CMVS编译使用参考:
    • 需要注意的问题:

openMVG +PMVS-CMVS传统方法重建 复现的记录

侧重于报错;编译,运行参考网上的博客,本文给了比较好的链接

openMVG 编译配置,运行可参考的链接:

openMVG 源码下载说明:

  • openMVG-github仓库:https://github.com/openMVG/openMVG (记得使用这个分支:https://github.com/openMVG/openMVG/tree/develop_ceres2.0 为了解决 openMVG_main_IncrementalSfM: command not found问题-https://github.com/openMVG/openMVG/issues/1976)

openMVG 编译配置,运行可参考的链接:

  • https://blog.csdn.net/baidu_40840693/article/details/84777589:sensor_width_camera_database.txt 相机型号的写法;出现’neato’ 提示的解释;使用命令行重建的写法(与运行.py文件参照看)
  • https://www.codenong.com/cs109846563/: 不想用源码编译的可以参考,这篇博客直接下载的release版本
  • 编译参考:https://blog.csdn.net/X_kh_2001/article/details/83690094 ;https://blog.csdn.net/solar_Lan/article/details/79495654(linux下下载编译)
  • 代码理解:https://blog.csdn.net/weixin_41109672/article/details/107426873;
  • https://blog.csdn.net/vanilla_an/article/details/115334413 : 看照片参数; 命令行运行方式
  • 官方的一些说明:https://openmvg.readthedocs.io/en/latest/software/SfM/SfM/
  • 最推荐的博客(编译过程,系统):https://blog.yanjingang.com/?p=3329; https://blog.csdn.net/weishaodong/article/details/106096221(openMVG的配置编译过程很全面)

照片数据集下载:

  1. https://www.maths.lth.se/matematiklth/personal/calle/dataset/dataset.html

openMVG 运行出问题解决办法汇总

  1. 使用自己拍摄的图片跑 openMVGturtor_demo.py 等代码时,出现错误,没有生成 sfm_data.bin

    ../sfm_data.bin" cannot be read
    

    (这个原因困扰了我很久,经过测试,目前还不确定到底是哪个原因引起的),原因可从以下几个方面进行着手:

    • sensor_width_camera_database.txt 格式不对,参数不对,这篇博客https://blog.csdn.net/betterc5/article/details/114588696使用的是传感器的宽度,但是我使用的是焦距(看图片属性可知道),重建成功

    • 修改代码段,参考:https://blog.51cto.com/stq054188/2896572;https://blog.csdn.net/stq054188/article/details/105088414;我试了,我将f从焦距-宽度-宽度的1.2倍- “-1” 都试了一下,没有成功,最终使用原本的默认值的"-f" ,"1"

    • github上的解决办法参考链接(我也是看来issues,猜测我的报错问题是我之前项目编译的eigen包造成的,因为我本地编译存在以下问题,但是我用服务器,一个干净的ubuntu环境编译,没有报错):

      • https://github.com/openMVG/openMVG/issues/1456;

      • https://github.com/openMVG/openMVG/issues/2011 (使用 git clone --recursive -b develop_ceres2.0 https://github.com/openMVG/openMVG.git 代替git clone --recursive https://github.com/openMVG/openMVG.git 的原因:新版本把openMVG_main_IncrementalSfM 等合成了openMVG_main_SfM);

      • https://github.com/openMVG/openMVG/issues/1967 ; (建议:增加图像;我改变了我拍摄的图像,由怼着拍改为拍远处的建筑,重建成功)

  2. Invalid matches file 问题

    • https://blog.csdn.net/weixin_39461878/article/details/106279844:改代码命令,生成matches的命令行中加上-g e
  3. Invalid regions files for the view

    • https://github.com/openMVG/openMVG/issues/1973
  4. sensor_width_database.txt 相关的报错

    • https://github.com/openMVG/openMVG/issues/1981
    • No sensor_width_database.txt file : https://github.com/openMVG/openMVG/issues/1841

PMVS,CMVS编译使用参考:

  1. https://blog.csdn.net/zzzblog/article/details/17166869 (辅助理解)
  2. https://blog.yanjingang.com/?p=3329 (推荐,系统 与openMVG结合)

需要注意的问题:

  1. 自己照片在传输过程中,会损失,我直接使用邮件发送会导致图片的名字变化,使得图片属性失去相机型号和焦距,导致报错(过程会报焦距miss,最终会报sfm_data.bin" cannot be read ),最终先在手机上打包图片,然后邮件发送 ,可避免损失;

  2. 照片显示的焦距可能与相机的焦距不同,以相机的焦距为准,我拍远景的时候可以重建成功,但是怼着物体拍,重建失败,报无法读 sfm_data.bin 的错误

  3. 自己使用源码编译,不要这么clone: git clone --recursive https://github.com/openMVG/openMVG.git;要这么clone : git clone --recursive -b develop_ceres2.0 https://github.com/openMVG/openMVG.git ,clone之前的分支,因为最新的仓库做了一些修改,但是很多人的复现都是集于之前的分支的,使用网上现有的代码会报一些错误

    仓库develop_ceres2.0分支编译才有openMVG_main_IncrementalSfM
    

你可能感兴趣的:(图像处理,三维重建,ubuntu,图像处理)