使用 OpenCV 创建对象跟踪指针时出错

问题描述 投票:0回答:1

请我需要帮助 当我尝试使用 opencv 创建用于对象跟踪的指针时出现错误

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

错误提示:

TrackerKCF 不是 CV 会员。

我已经检查了有关对象跟踪的 opencv 文档,并且包含了必要的标头。我被困住了。

我包含的不同标题包括:

#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/objdetect.hpp>
#include <opencv2/video/tracking.hpp>
#include <iostream>

我尝试根据 OpenCV 为其他对象跟踪算法创建指针

cv::Ptr<cv::Tracker> tracker = cv::TrackerMOSSE::create();
cv::Ptr<cv::Tracker> tracker = cv::TrackerCSRT::create();

我收到同样的错误

c++ opencv image-processing object-tracking
1个回答
0
投票

这对我有用:

#include <opencv2/tracking.hpp>
#include <opencv2/tracking/tracking_legacy.hpp>

int main()
{
  auto tracker = cv::legacy::TrackerMOSSE::create();
  cv::Ptr<cv::Tracker> tracker2 = cv::TrackerCSRT::create();
}

请注意,

TrackerMOSSE
很久以前就已移至“旧版”(OpenCV 4.5.1)。

一般来说,一切都有详细记录,例如https://docs.opencv.org/4.8.0/d2/da2/classcv_1_1TrackerCSRT.html,对于 CSRT,只需在组合框中选择正确的 OpenCV 版本并使用搜索小部件即可。

© www.soinside.com 2019 - 2024. All rights reserved.