BundleFusion+WIN11+VS2019 + CUDA11.7环境配置

BundleFusion+WIN11+VS2019环境配置

Step1

一开始会提示你重定解决方案,点即可,如果点错了,也可以在这里再点一次:

image-20230222103241016

简要记录一下环境的配置过程,刚下载下来BundleFusion的源码,刚用VS2019打开就报了一个错,

说是找不到CUDA7.0.props,这是因为我们的系统cuda版本和他的不对应,打开路径查看我们对应的版本:

image-20230222094404905

然后修改配置文件,分别在36376,将对应的版本修改为自己的。

image-20230222094527088

安装DirectX SDK

由于渲染时需要用到里面的一些组件,所以在官网下载安装一下:

http://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe

出现安装失败的话,需要卸载这两个文件:

image-20230222100009233

复制必要的环境文件

  • mLib

https://github.com/niessner/mLib,下载下来之后替换这个

image-20230222100127176

一些文件内部的修改

在bundlefusion\BundleFusion-master\external\mLib\include\core-base中把common.h文件中第61行,

#include <boost/serialization/array_wrapper.hpp>注释掉。(mLib文件没能跟上vs的更新速度)。

修改Egien以及boost库版本

下载Eigen3.2.8和boost1.64分别替代在bundlefusion\mLibExternal\include下的Eigen文件夹和boost文件夹。这一步也很关键,我一开始没换就报错了。

灵活的调整

网络上很多配置环境的教程,但是肯定不能涵盖每个人的方方面面,比如我两台电脑,一台出现了FreeImage.dll找不到的问题,另一台就没有,再比如现在也有某个库找不到:

image-20230222102541908

image-20230222103038728

添加上即可。

开始运行

生成解决方案后

本地数据

在x64文件夹下,新建data目录

image-20230222103343189

官网下载对应的.sens文件,放到data下,然后把这两个文件拷贝到Release目录下:

接下来我们需要修改一些属性,满足不同的需要,

image-20230222104329604

修改好之后,双击ReleaseFriedLiver.exe运行一下:

然后你会发现程序未响应,这原来是源程序的一个bug,而且中文没搜到答案,去他的源代码库里找到答案了:

IMG_20230222_104621

我们打开下面这个文件,把992行的这个进程同步注释掉,再重新生成一次。

image-20230222110248617

image-20230222105718406

run OK了

image-20230222105938548

image-20230222145810010

BundleFusion + RealSense

实时进行重建

这个地方我试了一天但是失败了,主要问题应该是我电脑的cuda版本太高。而且由于显卡是3060,cuda8.0也不再支持。

曲线救国

为了把我的实验室重建出来,选择使用realsense采集离线数据进行处理。

image-20230222202951350

参考了https://blog.csdn.net/wuzebiao2016/article/details/94426905/的教程,但是不知道为什么编译成功了运行不了,搜索了三个小时,未能解决这个问题。评论区也有很多人提到了这个问题

总结

目前只能使用官方的数据进行操作,遗憾。

如果一个代码的bug中午搜不出答案,可以使用英文关键字

遇到问题就解决问题,虽然有时候心态很崩,但是办法总比困难多

及时总结经验

posted @ 2023-02-22 20:53  CuriosityWang  阅读(782)  评论(1编辑  收藏  举报