QT+opencv4.5.4+yolov5+目标检测

之前做过yolov3、yolov4+opencv进行检测,yolov5出道了v6版本的时候,开始支持dnn模块,所以下载试试,

环境:opencv4.5.4     CUDA:10.2      QT:5.9

yolov5大家可以从git上clone,这里使用的是yolov5s.pt模型。给他转换为onnx

    cap>>img;
    vector<Scalar> color;
    srand(time(0));
    for (int i = 0; i < 80; i++) {
        int b = rand() % 256;
        int g = rand() % 256;
        int r = rand() % 256;
        color.push_back(Scalar(0, 0, 255));
    }
    QImage Qimg1=mat2QImage(img);
    ui->label->setScaledContents(true);
    ui->label->setPixmap(QPixmap::fromImage(Qimg1));
    vector<Output> result;
    if (test.Detect(img, net, result)) {
      img= test.drawPred(img, result, color);
      QImage Qimg2=mat2QImage(img);
       ui->label_2->setScaledContents(true);
      ui->label_2->setPixmap(QPixmap::fromImage(Qimg2));
      waitKey(10);
    }
    else {
       cout << "Detect Failed!" << endl;
    }

结果:

 

版权声明:本文为CSDN博主「Mr曲末寒」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhangdaoliang1/article/details/121289705

Mr曲末寒

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

【目标检测】YOLO、SSD、CornerNet原理介绍

目标检测是计算机视觉中比较简单的任务,用来在一张图篇中找到某些特定的物体,目标检测不仅要求我们识别这些物体的种类,同时要求我们标出这些物体的位置。其中类别是离散数据,位置是连续数据。 目

目标检测篇之---YOLO系列

YOLO系列 首先先说一下目标检测之one-stage和two-stage网络是什么意思?有什么区别? 刚开始看目标检测的时候总能看见单阶段(one-stage)和两阶段(