news 2026/5/1 1:05:20

[C++][cmake]基于C++在windows上使用纯opencv部署yolo26的图像分类onnx模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[C++][cmake]基于C++在windows上使用纯opencv部署yolo26的图像分类onnx模型

【算法介绍】

在C++中使用纯OpenCV部署YOLO26-cls图像分类ONNX模型是一项具有挑战性的任务,因为YOLO26通常是用PyTorch等深度学习框架实现的,而OpenCV本身并不直接支持加载和运行PyTorch模型。然而,可以通过一些间接的方法来实现这一目标,即将PyTorch模型转换为ONNX格式,然后使用OpenCV的DNN模块加载ONNX模型。

部署过程包括以下几个关键步骤:

  1. 确保开发环境已经安装了OpenCV 4.x(带有DNN模块)和必要的C++编译器。
  2. 将YOLO26-cls模型从PyTorch转换为ONNX格式,这通常涉及使用PyTorch的torch.onnx.export函数。
  3. 使用OpenCV的DNN模块加载ONNX模型,并确保有模型的配置文件(描述模型架构)和类别名称文件。
  4. 预处理输入图像(如调整大小、归一化等),以符合模型的输入要求。
  5. 将预处理后的图像输入到模型中,并获取分类结果。
  6. 对分类结果进行后处理,包括解析输出等。

需要注意的是,由于YOLO26是一个复杂的模型,其输出可能包含多个层的信息,因此需要仔细解析模型输出,并根据YOLO26的具体实现进行后处理。此外,OpenCV的DNN模块对ONNX的支持可能有限,某些YOLO26的特性可能无法在OpenCV中直接实现,此时可能需要寻找替代方案。

总之,使用纯OpenCV在C++中部署YOLO26-cls图像分类模型需要深入理解YOLOv11的模型架构、OpenCV的DNN模块以及ONNX格式。

【效果展示】

【调用代码】

#include <iostream> #include<opencv2/opencv.hpp> #include<math.h> #include<time.h> #include "yolo26_cls.h" using namespace std; using namespace cv; using namespace dnn; int main(int argc,char* argv[]) { if(argc==1) { cout<<"please input the image path"<<endl; return 0; } string img_path = argv[1]; string cls_model_path = "yolo26n-cls.onnx"; Mat img = imread(img_path); Yolo26ClsOnnx cls_net; cls_net.LoadWeights(cls_model_path); auto result = cls_net.Inference(img); cout << result.class_name<<"===>"<<std::to_string(result.confidence) << endl; getchar(); return 0; }

【测试环境】

vs2019

cmake==3.30.1

opencv==4.8.0

【运行步骤】

通过cmake编译出exe后,执行

yolo26-cls.exe 【图片路径】即可

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 5:23:17

图解说明ESP32开发环境UDP数据传输流程

图解ESP32如何用UDP“喊话”上网&#xff1a;从连Wi-Fi到发数据的全过程你有没有试过让一块小小的ESP32板子&#xff0c;像手机一样自动连上家里的Wi-Fi&#xff0c;然后每秒向电脑“报告”一句“我在线&#xff01;”&#xff1f;这背后其实是一套精巧的网络通信流程在起作用。…

作者头像 李华
网站建设 2026/5/1 8:01:21

VisualGGPK2终极指南:游戏资源编辑器完整教程与MOD制作快速入门

VisualGGPK2终极指南&#xff1a;游戏资源编辑器完整教程与MOD制作快速入门 【免费下载链接】VisualGGPK2 Library for Content.ggpk of PathOfExile (Rewrite of libggpk) 项目地址: https://gitcode.com/gh_mirrors/vi/VisualGGPK2 想要深度定制《流放之路》游戏体验&…

作者头像 李华
网站建设 2026/5/1 5:47:50

ESP32接入大模型:语音识别交互实战案例

用一块ESP32&#xff0c;让大模型听懂你说的话&#xff1a;语音交互实战全解析 你有没有想过&#xff0c;只花几十块钱&#xff0c;就能做一个会“思考”的语音助手&#xff1f;不是那种只会应答“好的”“收到”的机械回复&#xff0c;而是能理解上下文、讲冷笑话、帮你查资料…

作者头像 李华
网站建设 2026/5/1 9:32:26

5分钟部署Sambert语音合成,开箱即用版让AI配音零门槛

5分钟部署Sambert语音合成&#xff0c;开箱即用版让AI配音零门槛 1. 引言&#xff1a;多情感中文语音合成的工程落地挑战 随着虚拟主播、智能客服、有声内容生成等应用场景的爆发式增长&#xff0c;高质量、富有表现力的中文语音合成&#xff08;TTS&#xff09;技术正从实验…

作者头像 李华
网站建设 2026/5/1 6:28:48

基于ESP32-CAM的视频传输系统硬件组成全面讲解

从零构建一个“看得见”的物联网终端&#xff1a;ESP32-CAM 视频传输系统深度拆解你有没有想过&#xff0c;花不到一张电影票的钱&#xff0c;就能做出一个能实时传视频的小型监控设备&#xff1f;这不是科幻&#xff0c;而是今天每一个嵌入式开发者都能轻松实现的现实。这一切…

作者头像 李华
网站建设 2026/5/1 6:30:01

体验大模型入门必看:云端跑bert-base-chinese,按需付费成主流

体验大模型入门必看&#xff1a;云端跑bert-base-chinese&#xff0c;按需付费成主流 你是不是也遇到过这样的情况&#xff1f;应届生求职时发现&#xff0c;很多自然语言处理&#xff08;NLP&#xff09;岗位都写着“熟悉BERT类模型微调”“有中文文本分类项目经验优先”。可…

作者头像 李华