跟踪器维护模块
/** 跟踪器维护 */
if (!trackers_map.empty()) {
// 维护跟踪器Map,删除过久之前的装甲板
for (auto iter = trackers_map.begin(); iter != trackers_map.end();) {
// 删除元素后迭代器会失效,需先行获取下一元素
if (milliseconds_duration(t - (*iter).second.last_timestamp).count() > max_delta_t){ //TODO:时间需要测试
iter = trackers_map.erase(iter);
// std::cout << "[MAP_size]: "<< trackers_map.size() << std::endl;
} else{
++iter;
}
}
}
这一部分的代码不算复杂,是对跟踪器的维护,通过遍历跟踪器Map,将超出时间的跟踪器进行删除维护
不过设置时间多长是一个需要测试的点,不能过快也不能过慢