未定义的 OpenCV 标识符"Tracker"

OpenCV identifier "Tracker" is undefined

本文关键字:Tracker 标识符 OpenCV 未定义      更新时间:2023-10-16

我正在使用OpenCV 3.2并尝试使用Visual Studio 2013编译以下代码:

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

#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
    VideoCapture cap;
    Mat frame;
    cap.set(CV_CAP_PROP_FRAME_WIDTH, 160);
    cap.set(CV_CAP_PROP_FRAME_HEIGHT, 120);
    cap.set(CV_CAP_PROP_FPS, 15);
    cap.set(CV_CAP_PROP_FOURCC, CV_FOURCC('B', 'G', 'R', '3'));
    cap = VideoCapture(0);
    Ptr<Tracker> tracker = Tracker::create("KCF");
    while (1){
        cap.read(frame);
        imshow("TEST", frame);
        waitKey(1);
    }
    return 0;
}

但它告诉我跟踪器是未定义的。我正在尝试使用此处的示例。那里使用的opencv2/tracking.hpp在我的包含目录中不存在,所以我添加了一些文件来修复,包括问题(所需的文件是feature.hpp,onlineMIL.hpp,onlineBoosting.hpp,tracking.hpp.从openCV github
复制(,但VS仍然告诉我跟踪器未定义

Opencv 在 3.0 版发布时已将所有这些扩展库移至 Opencv-contrib,您可以从 github 网站安装:https://github.com/opencv/opencv_contrib请注意选择有关此存储库的版本。