立体匹配——ADcensus算法

参考博客:
(1)https://blog.csdn.net/liyingjiang22/article/details/78936879
(2)https://blog.csdn.net/qq_37641714/article/details/82854210
(3)https://blog.csdn.net/wsj998689aa/article/details/49403353
参考代码:
(1)https://download.csdn.net/download/vampireshj/9716138
(2)https://github.com/DLuensch/StereoVision-ADCensus
参考论文:
(1)On Building an Accurate Stereo Matching System on Graphics Hardware
(2)Cross-Based Local Stereo Matching Using Orthogonal Integral Images
参考视频:
(1)https://www.bilibili.com/video/BV1uk4y1o72i/ 57:45
(2)

3 代码执行

4 问题

1) 参考代码(1)下载下来后,用VS打开,查看文件内容报错:

立体匹配——ADcensus算法_第1张图片
出现这种情况,是因为此处显示的文件是以“添加现有文件”的方式添加进来的,而“添加现有文件”的路径已经不在了。虽然该文件夹下有对应文件名的文件,但是工程中的并不是添加它。

2) pcl和boost库安装与配置

立体匹配——ADcensus算法_第2张图片

参考链接:https://blog.csdn.net/weixin_41874898/article/details/105338039

注意:安装配置pcl的同时就配置了boost。

3) VS 2017在编译时出现错误E2512:功能测试宏的参数必须是简单标识符

解决方法:https://blog.csdn.net/dfy1407/article/details/103922415

4) VS 2017在编译时出现错误C2872"ACCESS_MASK"不明确的符号

参考链接:
(1)https://blog.csdn.net/cs9426478/article/details/81047993
(2)http://www.luyixian.cn/news_show_38445.aspx

原因:是因为winnt.h里边定义了cv,它的cv空间里有一个符号叫ACCESS_MASK;
opencv函数里边也定义了命名空间cv,它的cv空间里也有一个符号叫ACCESS_MASK。
那么我的项目如果同时包含这两个头文件,计算机是否知道我要调用哪个ACCESS_MASK吗?

解决:最方便的解决办法可能就是,将所有的头文件(.h)中的using namespace cv都去掉,然后将需要用到的地方用cv::代替。然后将using namespace cv放入到cpp文件中,在cpp文件中不会导致冲突。所以就只会在.h文件中麻烦一点。

5) 所有bug解决后,运行代码,速度很慢,大约30min一组图片。

解决:将debug模式换成release模式,运行时间变成40s左右。

你可能感兴趣的:(立体匹配)