尝试使用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。有任何想法吗?
调查:
在grepping AlgorithmInfo之后,我发现代码库中没有AlgorithmInfo的定义。
与先前版本的代码相比,我发现在opencv2 / core.hpp第3006行定义了AlgorithmInfo。但是在最新的代码中,根本就没有不存在!
答案 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"
无论如何,这就是我暂时解决错误的方法。