2017-06-20 8 views
1

のcontribリポジトリ(トラッカー、selectROI)からモジュールを見つけることができません。これは、私がオンラインだサンプルコードです:私はOpenCVの3.1.0と対応のcontribリポジトリを再インストールしようとした、そしてそれはように思われたOpenCVのは:私は、トラッキングオブジェクトが関与するプロジェクトに取り組んでいる、と私はOpenCVのcontribのレポのTrackerKCF作業を取得しようとしている

tracktest.cpp: In function ‘int main(int, char**)’: 
tracktest.cpp:33:7: error: ‘Tracker’ was not declared in this scope 
    Ptr<Tracker> tracker = TrackerKCF::create(); 
    ^
tracktest.cpp:33:14: error: template argument 1 is invalid 
    Ptr<Tracker> tracker = TrackerKCF::create(); 
      ^
tracktest.cpp:33:26: error: ‘TrackerKCF’ has not been declared 
    Ptr<Tracker> tracker = TrackerKCF::create(); 
         ^
tracktest.cpp:43:54: error: ‘selectROI’ was not declared in this scope 
    Rect2d roi= selectROI("tracker", frame, true, false); 
                ^
tracktest.cpp:50:10: error: base operand of ‘->’ is not a pointer 
    tracker->init(frame,roi); 
     ^
tracktest.cpp:63:27: error: base operand of ‘->’ is not a pointer 
    bool isfound = tracker->update(frame,roi); 
         ^
./tracktest.sh: line 5: ./tracktest: No such file or directory 

:しかし、私は次のエラーを得た

#include <opencv2/core/utility.hpp> 
#include <opencv2/video/tracking.hpp> 
#include <opencv2/videoio.hpp> 
#include <opencv2/highgui.hpp> 
#include <iostream> 
#include <cstring> 

using namespace std; 
using namespace cv; 

int main(int argc, char** argv){ 
    // show help 
    if(argc<2){ 
    cout<< 
     " Usage: example_tracking_kcf <video_name>\n" 
     " examples:\n" 
     " example_tracking_kcf Bolt/img/%04.jpg\n" 
     " example_tracking_kcf faceocc2.webm\n" 
     << endl; 
    return 0; 
    } 

    // create the tracker 
    Ptr<Tracker> tracker = TrackerKCF::create(); 

    // set input video 
    std::string video = argv[1]; 
    VideoCapture cap(video); 

    Mat frame; 

    // get bounding box 
    cap >> frame; 
    Rect2d roi= selectROI("tracker", frame, true, false); 

    //quit if ROI was not selected 
    if(roi.width==0 || roi.height==0) 
    return 0; 

    // initialize the tracker 
    tracker->init(frame,roi); 

    // do the tracking 
    printf("Start the tracking process, press ESC to quit.\n"); 
    for (;;){ 
    // get frame from the video 
    cap >> frame; 

    // stop the program if no more images 
    if(frame.rows==0 || frame.cols==0) 
     break; 

    // update the tracking result 
    bool isfound = tracker->update(frame,roi); 
    if(!isfound) 
    { 
     cout << "The target has been lost...\n"; 
     waitKey(0); 
     return 0; 
    } 

    // draw the tracked object 
    rectangle(frame, roi, Scalar(255, 0, 0), 2, 1); 

    // show image with the tracked object 
    imshow("tracker",frame); 

    //quit on ESC button 
    if(waitKey(1)==27)break; 
    } 
} 

makeは正常に完了しました。私はまた、tracker.cppがOpenCVのソースディレクトリにある場所を見つけようとしましたが、何も表示されませんでした。

私は私が間違ってcontribモジュールをインストールしているからだと仮定し、私はよく分かりません。誰が間違っているのか理解できますか?前もって感謝します。ため、私はmake installを実行するのを忘れて、私の不可解な愚かさに

+0

Iは、トラッカーヘッダファイルは ''ですね。このファイルをインクルードし、動作するか確認してください。 – sgarizvi

+0

'tracking.hpp'はありません: 'tracktest.cpp:16:32:致命的なエラー:opencv2/tracking.hpp:そのようなファイルやディレクトリがありません コンパイルが終了しました ./tracktest.sh:行5:./ tracktest:私はこれはすでに 'に含まれていたと思ったそのようなファイルまたはディレクトリも ' – zeklewa

+0

する#include '私はまだエラーが出る – zeklewa

答えて

0

。 今はすべていいです!

+0

:エラー:「selectROI」はこのスコープで宣言されていませんでした –

+0

opencv_contribがインストールされているか確認する方法はありますか? –

関連する問題