跟踪器维护模块

    /** 跟踪器维护 */
    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,将超出时间的跟踪器进行删除维护

不过设置时间多长是一个需要测试的点,不能过快也不能过慢

results matching ""

    No results matching ""