BundleFusion+WIN11+VS2019 + CUDA11.7环境配置
BundleFusion+WIN11+VS2019环境配置
Step1
一开始会提示你重定解决方案,点是
即可,如果点错了,也可以在这里再点一次:
简要记录一下环境的配置过程,刚下载下来BundleFusion的源码,刚用VS2019打开就报了一个错,
说是找不到CUDA7.0.props,这是因为我们的系统cuda版本和他的不对应,打开路径查看我们对应的版本:
然后修改配置文件,分别在36
,376
,将对应的版本修改为自己的。
安装DirectX SDK
由于渲染时需要用到里面的一些组件,所以在官网下载安装一下:
http://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe
出现安装失败的话,需要卸载这两个文件:
复制必要的环境文件
- mLib
https://github.com/niessner/mLib,下载下来之后替换这个
-
mlib-external
https://www.dropbox.com/s/fve3uen5mzonidx/mLibExternal.zip?dl=0
下载下来之后解压缩,放入BundleFusion同级目录下
一些文件内部的修改
在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
找不到的问题,另一台就没有,再比如现在也有某个库找不到:
添加上即可。
开始运行
生成解决方案后
本地数据
在x64文件夹下,新建data目录
去官网下载对应的.sens文件,放到data下,然后把这两个文件拷贝到Release
目录下:
接下来我们需要修改一些属性,满足不同的需要,
修改好之后,双击Release
下FriedLiver.exe
运行一下:
然后你会发现程序未响应,这原来是源程序的一个bug,而且中文没搜到答案,去他的源代码库里找到答案了:
我们打开下面这个文件,把992行的这个进程同步注释掉,再重新生成一次。
run OK了
BundleFusion + RealSense
实时进行重建
这个地方我试了一天但是失败了,主要问题应该是我电脑的cuda版本太高。而且由于显卡是3060,cuda8.0也不再支持。
曲线救国
为了把我的实验室重建出来,选择使用realsense采集离线数据进行处理。
参考了https://blog.csdn.net/wuzebiao2016/article/details/94426905/的教程,但是不知道为什么编译成功了运行不了,搜索了三个小时,未能解决这个问题。评论区也有很多人提到了这个问题
总结
目前只能使用官方的数据进行操作,遗憾。
如果一个代码的bug中午搜不出答案,可以使用英文关键字
遇到问题就解决问题,虽然有时候心态很崩,但是办法总比困难多
及时总结经验
本文来自博客园,作者:CuriosityWang,转载请注明原文链接:https://www.cnblogs.com/curiositywang/p/17145854.html