Bytetrack是一个针对物体追踪的开源C++工具库,可以使用opencv中的cv::Rect结构保存物体的矩形坐标。其中,csa是Bytetrack的一种目标跟踪算法。
代码示例: 下面是一个使用Bytetrack和cv::Rect保存跟踪目标框的示例代码:
#include
#include
int main() {
// create Bytetrack tracker object
bytetrack::tracker_t tracker;
// define an example image and object bounding box
cv::Mat image = cv::imread("example.png");
cv::Rect bbox(100, 100, 50, 80);
// initialize tracker with image and bbox
tracker.init(image, bbox);
// loop over frames and track object
for (int i = 0; i < 100; i++) {
// get new frame
image = cv::imread("frame" + std::to_string(i) + ".png");
// track object in new frame
bbox = tracker.track(image);
// export bbox coordinates (left, top, width, height)
std::cout << bbox.x << ", " << bbox.y << ", "
<< bbox.width << ", " << bbox.height << std::endl;
// display tracked object in new frame
cv::rectangle(image, bbox, cv::Scalar(0, 255, 0), 2);
cv::imshow("Tracked object", image);
cv::waitKey(30);
}
return 0;
}