平台:win10+vs2013+cuda8.0+kinect v1

参考:https://bericht.neopostmodern.com/posts/artist-guide-to-bundlefusion

1.先按照github上的步骤来,注意mlibExternel和bundlefusion-master在同一级目录

2.安装cuda,cuda7.0我的concrt.h会报错,提示常量字符过多,这个问题搜了一圈也没解决,我安装了cuda6,7,8,9,现在用的cuda8.0是可以运行的

3.编译之前在globalappstate.h中的define部分选择kinect,把其他传感器注释掉,

4.很重要的一点,选择适合你显卡的compute能力,在工程的配置选项

打开工程它选择的是compute = 35 ,sm=35 而我的显卡就比较水,是gtx660,去nvidia官网查自己的显卡对应的计算能力,我的如图。

5.其他问题:我试了kinect v2 xtion2,这两个目前都不行,二代kinect会卡死,xtion2的话需要修改一下primesense.h,让primesense类重写它父类的纯虚函数,就是一个打印设备名,得自己加要不编译不过,后面想用xtion2,还得想想办法。

6.碰到运行时出现的cuda报错问题,有可能是显卡的显存不够的问题,在配置文件zParametersDefault.txt中,把诸位s_marchingCubesMaxNumTriangles调小,或许可以解决。

7.运行时,按2贴图

7.目前看来如果想直接运行,我只成功了kinect v1,如果有哪位旁友用xtion2成功了,求赐教!

8.xtion2已经可以跑通,

这里的device.open要改成打开设备而不是数据流

按照上面注释,之后编译会出错,和binarydump有关的,直接注释掉

9,很重要的一点,xtion2的配置,需要安装专门的openni2的sdk,把这个文件夹下的都复制到工程生成的debug下,更重要的是,openni2下的regist没有senduck.dll,这个是xtion2的专有的动态链接库,要去xtion2专用的openni2下C:\Program Files\OpenNI2\Samples\Bin\OpenNI2\Drivers去复制这个动态链接库

 

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐