|
@@ -36,21 +36,21 @@ void TrackNode::work()
|
|
|
obj.rect.height = box.bottom - box.top;
|
|
|
obj.label = box.class_id; // 假设 Object::label 存的是 int 类型的 class_id
|
|
|
obj.prob = box.score;
|
|
|
-
|
|
|
+
|
|
|
if (obj.rect.width > 0 && obj.rect.height > 0 && obj.prob > 0) { // 至少prob > 0
|
|
|
objects.push_back(obj); // 只添加有效的对象
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
// ***** 关键调试打印:检查输入给 tracker 的 objects *****
|
|
|
- printf("节点 %s: tracker_->update() 的输入 objects (共 %zu 个):\n", name_.c_str(), objects.size());
|
|
|
- for (size_t i = 0; i < objects.size(); ++i) {
|
|
|
- const auto& obj = objects[i];
|
|
|
- printf(" Object %zu: Prob=%.2f, Rect=[%.1f, %.1f, %.1f, %.1f]\n",
|
|
|
- i,
|
|
|
- obj.prob, // 确保 Object 结构里有 score/prob
|
|
|
- obj.rect.x, obj.rect.y, obj.rect.width, obj.rect.height); // 确保 Object 结构里有 rect
|
|
|
- }
|
|
|
+ // printf("节点 %s: tracker_->update() 的输入 objects (共 %zu 个):\n", name_.c_str(), objects.size());
|
|
|
+ // for (size_t i = 0; i < objects.size(); ++i) {
|
|
|
+ // const auto& obj = objects[i];
|
|
|
+ // printf(" Object %zu: Prob=%.2f, Rect=[%.1f, %.1f, %.1f, %.1f]\n",
|
|
|
+ // i,
|
|
|
+ // obj.prob, // 确保 Object 结构里有 score/prob
|
|
|
+ // obj.rect.x, obj.rect.y, obj.rect.width, obj.rect.height); // 确保 Object 结构里有 rect
|
|
|
+ // }
|
|
|
// ***********************************************
|
|
|
std::vector<STrack> output_stracks = tracker_->update(objects);
|
|
|
// ***** 详细打印 tracker_->update() 的输出 *****
|