2016-08-25 17 views
0

OpenCV 3.1.0がインストールされています。 OpenCV 3.1.0:BackgroundSubtractorMOGクラスの使用方法

//opencv 
#include "opencv2/imgcodecs.hpp" 
#include "opencv2/imgproc.hpp" 
#include "opencv2/videoio.hpp" 
#include <opencv2/highgui.hpp> 
#include <opencv2/video.hpp> 
#include <opencv2/video/background_segm.hpp> 

//C 
#include <stdio.h> 
//C++ 
#include <iostream> 
#include <sstream> 

が、私はこのタイプのクラスへのポインタを宣言します: 私は私のファイルで、私はこれらが含まれていてBackgroundSubtractorMOGを使用したい

Ptr<BackgroundSubtractorMOG> pMOG; 

そして、私はこのようなポインタを初期化します。

私がコンパイルしようと
pMOG = createBackgroundSubtractorMOG(); 

私はこれを取得:

/home/edd/Desktop/compvis/FML.cpp:19:5: error: ‘BackgroundSubtractorMOG’ was not declared in this scope 
Ptr<BackgroundSubtractorMOG> pMOG; //MOG2 Background subtractor 
    ^
/home/edd/Desktop/compvis/FML.cpp:19:28: error: template argument 1 is invalid 
Ptr<BackgroundSubtractorMOG> pMOG; //MOG2 Background subtractor 
          ^
/home/edd/Desktop/compvis/FML.cpp: In function ‘int main(int, char**)’: 
/home/edd/Desktop/compvis/FML.cpp:29:42: error: ‘createBackgroundSubtractorMOG’ was not declared in this scope 
    pMOG = createBackgroundSubtractorMOG(); //MOG approach 
             ^

私はドキュメントを調べようとしました。私はどのヘッダーを含めるか分からなかった。クラスのインスタンスを正しくインスタンス化する方法を理解できませんでした。

何がありますか?

+0

に役立ちます。 org/3.1.0/d6/da7/classcv_1_1bgsegm_1_1BackgroundSubtractorMOG.html – edd

+0

[オフィシャルチュートリアルコード]を試してください(https://github.com/opencv/opencv/blob/master/samples/cpp/tutorial_code/video/bg_sub.cpp) – sturkmen

答えて

0

投稿したコードでは、名前空間に関する記述はありません。 (例:using namespace cv)。それ以外の場合は、OpenCVコードの先頭にcv::(例:cv::Mat frame)を付けてMatオブジェクトを宣言する必要があります。

EDIT:

#include "opencv2/opencv.hpp" 
#include "opencv2/bgsegm.hpp" 
... 
cv::Ptr<cv::BackgroundSubtractor> mog = cv::bgsegm::createBackgroundSubtractorMOG(); 
... 

と名前空間を使用します。http://docs.opencv

#include "opencv2/opencv.hpp" 
#include "opencv2/bgsegm.hpp" 

using namespace cv 
... 
Ptr<BackgroundSubtractor> mog = bgsegm::createBackgroundSubtractorMOG(); 
... 

希望これは、ここでの情報は役に立たない、 MJ

+0

ありがとう。私はこの部分を見逃したようだ。 – edd

+0

@edd問題ありません。お役に立てて嬉しいです! – mjones

関連する問題