派生自 Algorithm/baseDetector

bug
Scheaven
2021-06-17 0126e953b3f293b111179e4777103c64f778870c
bug
1个文件已修改
9 ■■■■■ 已修改文件
lib/core/detecter_manager.cpp 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lib/core/detecter_manager.cpp
@@ -43,7 +43,7 @@
{
    std::vector<bbox_t> result_vec;
    result_vec = Detector::getInstance()->detect(mat_image); // 静态单例模式,调用单例指针对象进行人体检测
    result_vec = Detector::getInstance()->detect(mat_image);
    encoder_features(result_vec, t_result); //将检测的结果转化成指定的格式
@@ -51,7 +51,7 @@
//    draw_boxes(mat_image, result_vec);
}
// 将检测结果的result_box信息融合到detections中
void DetecterManager::encoder_features(std::vector<bbox_t> boxes, TResult &t_result)
{
    t_result.targets = (Target*)malloc(sizeof(Target) * boxes.size()); // 绘制人脸信息的
@@ -62,13 +62,11 @@
    int result_index=0;
    //NMS 去掉重叠的框信息  start
    std::vector<bbox_t> n_boxes;
    float threshold = 0.99;
    // 需要使用迭代器的方式进行擦除
    for (vector<bbox_t>::iterator it = boxes.begin();it !=boxes.end();)
    {
        if(it->obj_id!=0) //将非人体信息转移到n_boxes
        if(it->obj_id!=0)
        {
            n_boxes.push_back(*it);
            it = boxes.erase(it);
@@ -97,7 +95,6 @@
        }
        boxes.erase(boxes.begin());
    }
    //NMS 去掉重叠的框信息  end
    for (const auto &result_box:n_boxes)