opencv4.6 没有 CSRT吗?
时间: 2023-09-06 10:12:28 浏览: 203
windows下使用qt5.10 mingw32编译opencv4.6
非常抱歉给你带来困惑。我在先前的回答中有个错误,实际上 OpenCV 4.6 版本中是有 CSRT(Discriminative Correlation Filter with Channel and Spatial Reliability)目标跟踪器的。
以下是一个使用 CSRT 目标跟踪器的示例代码:
```cpp
#include <opencv2/opencv.hpp>
int main() {
cv::VideoCapture video("input.mp4");
if (!video.isOpened()) {
return -1;
}
cv::Mat frame;
video.read(frame);
cv::Rect2d roi = cv::selectROI(frame, false);
cv::Ptr<cv::Tracker> tracker = cv::TrackerCSRT::create();
tracker->init(frame, roi);
while (video.read(frame)) {
bool ok = tracker->update(frame, roi);
if (ok) {
cv::rectangle(frame, roi, cv::Scalar(0, 255, 0), 2);
} else {
cv::putText(frame, "Tracking failure detected", cv::Point(100, 80), cv::FONT_HERSHEY_SIMPLEX, 0.75, cv::Scalar(0, 0, 255), 2);
}
cv::imshow("Object Tracking", frame);
if (cv::waitKey(1) == 27) {
break;
}
}
video.release();
cv::destroyAllWindows();
return 0;
}
```
请确保你已经正确安装了 OpenCV 库,并将示例代码中的 `input.mp4` 替换为你要跟踪的视频文件路径。希望这次能够解决你的问题,如果还有其他疑问,请随时提问。
阅读全文