码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • [C++]使用纯opencv去部署yolov9的onnx模型


    【介绍】

    部署 YOLOv9 ONNX 模型在 OpenCV 的 C++ 环境中涉及一系列步骤。以下是一个简化的部署方案概述,以及相关的文案。

    部署方案概述:

    1. 模型准备:首先,你需要确保你有 YOLOv9 的 ONNX 模型文件。这个文件包含了模型的结构和权重。
    2. 环境配置:安装 OpenCV 库,并确保它支持 ONNX 模型的加载和推理。
    3. 加载模型:使用 OpenCV 的 cv::dnn::readNetFromONNX 函数加载模型。这个函数会读取模型文件,并创建一个可以用于推理的网络对象。
    4. 预处理输入:YOLO 模型通常需要特定格式的输入数据,如特定大小的图像。你需要编写代码来读取原始图像,将其转换为模型所需的格式,并可能需要进行归一化或其他预处理步骤。
    5. 执行推理:将预处理后的输入数据传递给网络对象,执行推理。这通常是通过调用 cv::dnn::Net::forward 函数来完成的。
    6. 后处理输出:模型的输出通常是一个或多个张量,需要后处理才能得到最终的检测结果。这可能涉及解析输出张量,提取边界框、类别和置信度等信息。
    7. 显示结果:最后,你可以使用 OpenCV 的绘图功能在原始图像上显示检测结果。

    文案示例:

    “在现代计算机视觉应用中,部署高效的目标检测模型至关重要。使用 OpenCV 的 C++ 接口,我们可以轻松加载和部署 YOLOv9 ONNX 模型,实现实时的目标检测。通过准备模型文件、配置开发环境、加载模型、预处理输入数据、执行推理和后处理输出,我们可以在各种应用场景中快速集成 YOLOv9 的强大功能。无论是安全监控、自动驾驶还是智能家居,YOLOv9 与 OpenCV 的结合都为我们提供了强大的工具来检测和识别图像中的目标。”

    【效果演示】

    【视频演示】

    C++使用纯opencv部署yolov9的onnx模型_哔哩哔哩_bilibili使用C++ opencv去部署yolov9的onnx模型,无其他依赖。测试环境vs2019opencv==4.9.0cmake==3.24.3, 视频播放量 128、弹幕量 0、点赞数 2、投硬币枚数 0、收藏人数 0、转发人数 0, 视频作者 未来自主研究中心, 作者简介 未来自主研究中心,相关视频:C#使用onnxruntime部署Detic检测2万1千种类别的物体,使用纯opencv部署yolov5目标检测模型onnx,刘宪华巴黎粉丝路透,和老板在一起的时刻,满满的幸福感!,好几个朋友跟我说,这车进不了藏,2024易语言yolo9全网最强框架更新~,【爱心表白代码】身边学编程的朋友还没给你安排上这个爱心代码吗?赶快给她敲一个吧!!,yolov9+deepsort+pyqt5实现目标追踪结果演示,C#利用openvino部署yolov8-onnx目标检测模型,不需要训练?YOLO-World:实时开放词汇目标检测,2024年B站最强OpenCV实战进阶教程!,一周学完帮你少走99%弯路!【图像分割/人脸识别/车辆检测/机器视觉】icon-default.png?t=N7T8https://www.bilibili.com/video/BV1Wt421t79e/

    【部分实现代码】

    1. #include <iostream>
    2. #include<opencv2/opencv.hpp>
    3. #include<math.h>
    4. #include "yolov9.h"
    5. #include<time.h>
    6. using namespace std;
    7. using namespace cv;
    8. using namespace dnn;
    9. template<typename _Tp>
    10. int yolov9(_Tp& cls,Mat& img,string& model_path)
    11. {
    12. Net net;
    13. if (cls.ReadModel(net, model_path, false)) {
    14. cout << "read net ok!" << endl;
    15. }
    16. else {
    17. return -1;
    18. }
    19. //生成随机颜色
    20. vector<Scalar> color;
    21. srand(time(0));
    22. for (int i = 0; i < 80; i++) {
    23. int b = rand() % 256;
    24. int g = rand() % 256;
    25. int r = rand() % 256;
    26. color.push_back(Scalar(b, g, r));
    27. }
    28. vector<OutputSeg> result;
    29. if (cls.Detect(img, net, result)) {
    30. DrawPred(img, result, cls._className, color);
    31. }
    32. else {
    33. cout << "Detect Failed!" << endl;
    34. }
    35. system("pause");
    36. return 0;
    37. }
    38. int main() {
    39. string img_path = "E:\\person.jpg";
    40. string detect_model_path = "C:\\Users\\Administrator\\Desktop\\yolov9-opencv-det-cplus\\models\\yolov9-c.onnx";
    41. Mat img = imread(img_path);
    42. Yolov9 task_detect;
    43. yolov9(task_detect,img,detect_model_path); //Opencv detect
    44. return 0;
    45. }

    【测试环境】

    vs2019

    opencv==4.9.0

    cmake==3.24.3

    【源码下载】 

    https://download.csdn.net/download/FL1623863129/88903814

  • 相关阅读:
    带你玩转Redis Hash数据类型
    学习react笔记(一)
    React——react 的基本使用
    idea中maven无法导包问题
    Hadoop HA搭建
    解决yolov5第6版预测图中文显示问题
    AMD(锐龙)处理器解决安装 AndroidStudio 虚拟机失败问题
    res_config_settings_views.xml 详解
    按照指定条件对数据进行分组并对每个分组内的全部数据应用自定义函数进行聚合计算groupby().apply()
    中国纺织服装市场深度全景调研及投资前景分析报告
  • 原文地址:https://blog.csdn.net/FL1623863129/article/details/136433307
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号