OpenCV:'AlgorithmInfo'在构建opencv_contrib时没有命名类型

时间:2015-04-20 14:12:33

标签: c++ opencv building opencv3.0

尝试使用contrib模块

构建opencv时出现以下错误
/opencv/opencv_contrib/modules/tracking/include/opencv2/tracking/tracker.hpp:577:11: error: ‘AlgorithmInfo’ does not name a type

代码是最新的,现在才提取。 向文件tracker.hpp添加前向声明class AlgorithmInfo;后,特定错误消失但我得到其他''AlgorithmInfo'并未在其他文件中命名类型'错误。可能不会以某种方式包含AlgorithmInfo。有任何想法吗?

调查:

  1. 在grepping AlgorithmInfo之后,我发现代码库中没有AlgorithmInfo的定义。

  2. 与先前版本的代码相比,我发现在opencv2 / core.hpp第3006行定义了AlgorithmInfo。但是在最新的代码中,根本就没有不存在

1 个答案:

答案 0 :(得分:0)

这不是一个永久的解决方案,但我遇到了同样的问题,这就是我能够继续研究项目的方法,直到有人找到更好的方法。

我查看了Utkarsh发布的链接How do I use SIFT in OpenCV 3.0 with c++?

总结一下,我必须得到opencv_contrib repo并重新打开opencv。

这样做之后我仍然遇到同样的错误并最终意识到这一点 你必须包括

#include "opencv2/xfeatures2d.hpp"
#include "opencv2/features2d/features2d.hpp"

但除非您同时删除/退出

,否则仍然会得到相同的结果
//#include "opencv2/nonfree/features2d.hpp"
//#include "opencv2/nonfree/nonfree.hpp"

无论如何,这就是我暂时解决错误的方法。