当前位置: 首页 > news >正文

[C#]C# OpenVINO部署yolov8图像分类模型

【官方框架地址】

https://github.com/ultralytics/ultralytics.git
【算法介绍】

YOLOv8 抛弃了前几代模型的 Anchor-Base。

YOLO 是一种基于图像全局信息进行预测的目标检测系统。自 2015 年 Joseph Redmon、Ali Farhadi 等人提出初代模型以来,领域内的研究者们已经对 YOLO 进行了多次更新迭代,模型性能越来越强大。现在,YOLOv8 已正式发布。

YOLOv8 是由小型初创公司 Ultralytics 创建并维护的,值得注意的是 YOLOv5 也是由该公司创建的。
【效果展示】

【实现部分代码】

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using OpenCvSharp;namespace FIRC
{public partial class Form1 : Form{Mat src = new Mat();Yolov8ClsManager ym = new Yolov8ClsManager();public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){OpenFileDialog openFileDialog = new OpenFileDialog();openFileDialog.Filter = "图文件(*.*)|*.jpg;*.png;*.jpeg;*.bmp";openFileDialog.RestoreDirectory = true;openFileDialog.Multiselect = false;if (openFileDialog.ShowDialog() == DialogResult.OK){src = Cv2.ImRead(openFileDialog.FileName);pictureBox1.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(src);}}private void button2_Click(object sender, EventArgs e){if(pictureBox1.Image==null){return;}Stopwatch sw = new Stopwatch();sw.Start();var result = ym.Inference(src);sw.Stop();this.Text = "耗时" + sw.Elapsed.TotalSeconds + "秒";var resultMat = ym.DrawImage(src,result);pictureBox2.Image= OpenCvSharp.Extensions.BitmapConverter.ToBitmap(resultMat); //Mat转Bitmap}private void Form1_Load(object sender, EventArgs e){ym.LoadWeights(Application.StartupPath+ "\\weights\\yolov8l-cls.onnx", Application.StartupPath + "\\weights\\labels.txt");}private void btn_video_Click(object sender, EventArgs e){}}
}


【视频演示】

https://www.bilibili.com/video/BV1uN4y1q7iu/
【源码下载】

https://download.csdn.net/download/FL1623863129/88698695?spm=1001.2014.3001.5501
【测试环境】

vs2019

netframework4.8

opencvsharp4.8.0

openvinosharp

注意无需额外安装openvino运行库直接可以运行


 

相关文章:

  • x-cmd pkg | gitui - git 终端交互式命令行工具
  • 【docker】Dockerfile 指令详解
  • 华为 1+X《网络系统建设与运维(初级)》 认证实验上机模拟试题
  • 图像预处理——transforms
  • 【2023年度总结】蜕变与挑战
  • 【XR806开发板使用】开发环境搭建、Hello工程以及开发事项
  • 基于OpenCV的图像缩放
  • 大数据相关软件的安装指南(超详细的图文教程)
  • 逻辑回归简单案例分析--鸢尾花数据集
  • 【动态规划】C++算法:115.不同的子序列
  • 【EI会议征稿通知】第三届智能电网与绿色能源国际学术会议(ICSGGE 2024)
  • Python使用subprocess模块执行shell命令且自动退出命令
  • x-cmd pkg | procs - ps 命令的现代化替代品
  • API 开放平台项目(已整理,已废弃)
  • uniapp获取日期
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 《剑指offer》分解让复杂问题更简单
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • Android单元测试 - 几个重要问题
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • export和import的用法总结
  • Flannel解读
  • gcc介绍及安装
  • hadoop集群管理系统搭建规划说明
  • IDEA常用插件整理
  • overflow: hidden IE7无效
  • 不上全站https的网站你们就等着被恶心死吧
  • 多线程 start 和 run 方法到底有什么区别?
  • - 概述 - 《设计模式(极简c++版)》
  • 关于Flux,Vuex,Redux的思考
  • 七牛云假注销小指南
  • 使用API自动生成工具优化前端工作流
  • 小程序测试方案初探
  • 阿里云API、SDK和CLI应用实践方案
  • ###C语言程序设计-----C语言学习(6)#
  • #define,static,const,三种常量的区别
  • (1)bark-ml
  • (26)4.7 字符函数和字符串函数
  • (4)logging(日志模块)
  • (day 12)JavaScript学习笔记(数组3)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (Ruby)Ubuntu12.04安装Rails环境
  • (动态规划)5. 最长回文子串 java解决
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (循环依赖问题)学习spring的第九天
  • *** 2003
  • ***详解账号泄露:全球约1亿用户已泄露
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .net mvc 获取url中controller和action
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道