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
^
私はドキュメントを調べようとしました。私はどのヘッダーを含めるか分からなかった。クラスのインスタンスを正しくインスタンス化する方法を理解できませんでした。
何がありますか?
に役立ちます。 org/3.1.0/d6/da7/classcv_1_1bgsegm_1_1BackgroundSubtractorMOG.html – edd
[オフィシャルチュートリアルコード]を試してください(https://github.com/opencv/opencv/blob/master/samples/cpp/tutorial_code/video/bg_sub.cpp) – sturkmen