派生自 Algorithm/baseDetector

mo
Scheaven
2021-07-28 828d98a058038e953603ffebc25d029830a75d80
mo
3个文件已修改
31 ■■■■ 已修改文件
demo.cpp 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/core/ari_manager.cpp 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/draw_util.cpp 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
demo.cpp
@@ -45,7 +45,8 @@
            sr = get_result(handle, img, 0);
            TResult * t_result = (TResult*) sr;
            cout << "t_result->count==" << t_result->count  << endl;
            for (int i=0; i<t_result->count; i++){
            for (int i=0; i<t_result->count; i++)
            {
                cout << "confidence:" << t_result->targets[i].confidence << endl;
                draw_SDK_result(frame, t_result->targets[i]);
            }
src/core/ari_manager.cpp
@@ -96,6 +96,7 @@
        // }
    }
    t_result.count = w_count;
        draw_SDK_result(cam_id, frame, t_result); //多线程无法调用绘图
}
void AriManager::init_target(Target *t){
src/utils/draw_util.cpp
@@ -31,12 +31,12 @@
    //         DEBUG( ":::::::::create folder! error!::::::");
    //     }
    // }
    DEBUG("=2==create_path:")
    DEBUG("=2==create_path:");
    char DirName[256];
    strcpy(DirName,path);
    int i,len = strlen(DirName);
    if(DirName[len-1]!='/')
    strcat(DirName,"/");
        strcat(DirName,"/");
    len = strlen(DirName);
    for(i=1;i<len;i++)
    {
@@ -50,7 +50,7 @@
            //        perror("mkdir error");
            //    }
            // }
            DEBUG("=1==create_path:")
            DEBUG("=1==create_path:");
            int a = access(DirName, F_OK);
            if(a ==-1)
            {
@@ -79,3 +79,24 @@
    cv::imshow(to_string(1), mat_img);
    cv::waitKey(0);
}
cv::VideoWriter writer("/opt/vasystem/valog/01_Scheanve/01_baseDetector.avi", cv::VideoWriter::fourcc('M','J','P','G'),24, cv::Size(800,500), true);
void draw_SDK_result(const int cam_id, cv::Mat mat_img, TResult& t_result)
{
    cv::Rect tmp_rect;
    for (int i = 0; i < t_result.count; ++i)
    {
        auto &result = t_result.targets[i];
        tmp_rect = cv::Rect(result.rect.left,result.rect.top,result.rect.right-result.rect.left,result.rect.bottom-result.rect.top);
        cv::rectangle(mat_img, tmp_rect , cv::Scalar(50, 200, 50), 2);
//        cv::putText(mat_img, std::to_string(result.id), Point((result.rect.left+result.rect.right)/2,result.rect.top+150), CV_FONT_HERSHEY_SIMPLEX, 0.8, Scalar(255,255,0), 2);
    }
//    delete tmp_rect;
    cv::resize(mat_img, mat_img, cv::Size(800,500));
//  cv::imwrite("1111.jpg", mat_img);
    // cv::imshow("RESULT", mat_img);
    writer<< mat_img;
    // cv::waitKey(0);
}