【问题标题】:OpenCV: ‘AlgorithmInfo’ does not name a type while building opencv_contribOpenCV:“AlgorithmInfo”在构建 opencv_contrib 时未命名类型
【发布时间】:2015-04-20 14:12:32
【问题描述】:

我在尝试使用 contrib 模块构建 opencv 时遇到以下错误

/opencv/opencv_contrib/modules/tracking/include/opencv2/tracking/tracker.hpp:577:11: error: ‘AlgorithmInfo’ does not name a type

代码是最新的,刚刚拉取。 在将前向声明 class AlgorithmInfo; 添加到文件 tracker.hpp 后,该特定错误消失了,但我在其他文件中收到其他“AlgorithmInfo”未命名类型错误。可能 AlgorithmInfo 没有以某种方式被包含在内。有任何想法吗?

调查:

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

  2. 与之前版本的代码相比,我发现 AlgorithmInfo 定义在 opencv2/core.hpp 第 3006 行。但在最新的代码中,它根本不存在! p>

【问题讨论】:

  • 如果您使用的是opencv3,您可以尝试使用xfeatures2d.hpp 和其他新添加的contrib。显然,它们应该以不同的方式使用。请查看link

标签: c++ opencv building opencv3.0


【解决方案1】:

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

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

总而言之,我必须获取 opencv_contrib 存储库并重新制作 opencv。

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

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

但你仍然会得到相同的结果,除非你也删除/注释掉

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    • 2019-12-01
    • 2019-02-17
    • 2019-10-18
    • 1970-01-01
    • 2019-01-26
    • 2018-07-11
    相关资源
    最近更新 更多