【问题标题】:cv has no member BackgroundSubtractorMOG简历没有成员 BackgroundSubtractorMOG
【发布时间】:2015-01-29 11:31:12
【问题描述】:

我是 opencv 的新手,并按照说明安装它,如下所述: http://docs.opencv.org/doc/tutorials/introduction/windows_install/windows_install.html#windows-installation 我使用了“通过从源文件创建自己的库来安装”部分,它运行良好(使用 Visual Studio 2013)。我能够运行基本命令,例如读取图像、写入图像、运行边缘检测、视频处理等。 但现在我尝试使用 BackgroundSubtractorMOG 并收到 BackgroundSubtractorMOG 不是 cv 成员的错误。最简单的代码如下,我不知道从哪里开始。我在安装中遗漏了什么吗?有什么想法吗?

#include "stdafx.h"
#include<opencv2/opencv.hpp>

int main()
{
    cv::BackgroundSubtractorMOG bg;
    return 0;
}

【问题讨论】:

  • 你用的是opencv3.0吗?
  • 我用了github.com/Itseez/opencv的git pull,其实不知道master上是哪个版本。我应该拉别的东西吗?
  • git branch 会告诉你,当你从 github 拉取时,'master' (3.0) 是默认值

标签: c++ opencv


【解决方案1】:

使用 opencv3.0,BackgroundSubtractorMOG 被移动到opencv_contrib repo

要使用剩余的 BackgroundSubtractorMOG2 或 BackgroundSubtractorKNN,您必须使用:

Ptr<BackgroundSubtractorMOG2> bgm = createBackgroundSubtractorMOG2(...);

【讨论】:

  • 谢谢,这就是我要找的!
【解决方案2】:

你忘了包含标题

#include <background_segm.hpp>

参考:http://physics.nyu.edu/grierlab/manuals/opencv/classcv_1_1BackgroundSubtractorMOG.html

头文件的路径可以是:/opencv2/video/background_segm.hpp

【讨论】:

  • opencv.hpp 包含 video.hpp,其中包含 background_segm.hpp,所以这不是原因。我通过添加您建议的包含来确认它,但没有帮助。
  • 好吧.. 它通常会发生,而且 OpenCV 缺乏适当的文档。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-12
  • 1970-01-01
相关资源
最近更新 更多