.net6下[WPF+yolov5+opencvsharp]

这篇具有很好参考价值的文章主要介绍了.net6下[WPF+yolov5+opencvsharp]。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 简介
机缘巧合下写的一个工程,本来是作为商家视觉识别上位机的替代品,但是最后没用上,因此只开发了一半(厂家升级了摄像头和软件)

该工程基于WPF的.net6+mvvm 调用摄像头进行识别
opencv开摄像头(不想自己封装win32api),yolov5对图像进行检测

2.引用库

.net6下[WPF+yolov5+opencvsharp]

MVVM

CommunityToolkit.Mvvm

Opencv

OpenCvSharp4 OpenCvSharp4.Windows OpenCvSharp4.WpfExtensions(wpf专供:BitmapSourceConverter)

Yolov5

SixLabors.ImageSharp(检测图片用)
Microsoft.ML.OnnxRuntime(yolov5环境库)(CPU版本)
yolov5分CPU、GPU、DirectML三个版本(DirectML没用过)
CPU版本和GPU版本不能一起装.

参考博客:(https://www.cnblogs.com/kita/p/17511357.html)

3.如何部署yolov5模型

首先,去Github官网拉取一个yolov5的模板工程,我们只需要更改引用模型参数即可
.net6下[WPF+yolov5+opencvsharp]

Github官网模板网址:(https://github.com/techwingslab/yolov5-net)

如何修改参数:
①修改裁剪的图像宽高:图中的640
②修改output的输出名称:图中的字符串"output"
③修改标签名:图中的person,bicycle等为标签名(标号与模型中标号一致 如果你的为0,那就从0开始)
④修改标签个数:图中的85(示例程序实际标签个数为80,标签个数=实际标签个数+5)

如何查看onnx模型参数:
(https://netron.app/)
根据可视化面板来查看自己的参数

其次,修改完参数后重新编译生成dll文件,将dll文件导入工程中,随后将你的模型文件导入工程(.onnx文件)
踩坑点:千万别用nuget上的Yolov5Net包,会覆盖你的dll文件,运行模型不匹配后程序直接崩

4.代码

代码中加载模型

.net6下[WPF+yolov5+opencvsharp]
在MainViewModel中调用RegisterYoloModel函数即可

代码中识别

.net6下[WPF+yolov5+opencvsharp]

PlayCamera为视频检测函数
首先通过Opencv读取画面内容然后转成流的形式,然后再将流转换成yolov5所需要的图片进行检测,
最后检测出再用Opencv画框,再将所得的Mat通过BitmapSourceConverter类转换为Image控件所需要的

5.结尾
该工程为半成品,LAB值过滤,Tcp、串口发送数据均还没有完全写完。
本文主要希望能给各位提供一点wpf中调用yolov5的思路,如有错误烦请指出。
界面展示:

.net6下[WPF+yolov5+opencvsharp]文章来源地址https://www.toymoban.com/news/detail-711755.html

到了这里,关于.net6下[WPF+yolov5+opencvsharp]的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于.Net6使用YoloV8的分割模型

    在目标检测一文中,我们学习了如何处理Onnx模型,并的到目标检测结果,在此基础上,本文实现基于.Net平台的实例分割任务。 执行YoloV8的分割任务后可以得到分割.pt模型。由于Python基本不用于工业软件的部署,最终还是希望能在.Net平台使用训练好的模型进行预测。我们可以

    2024年02月09日
    浏览(25)
  • Azure DevOps(一)基于 Net6.0 的 WPF 程序如何进行持续集成、持续编译

    我们是否正在为如何快速的编译、部署客户端应用程序而烦恼?这也是博主最近遇到的问题。目前博主所在公司主要做项目级的定制化开发,多以 C/S 架构的 WPF 程序为主,每次到了协助开发团队给实施团队编译好的要测试程序包时,就会出现多人协助,编译、打包好的二进制

    2023年04月19日
    浏览(34)
  • WPF:.Net6框架下,使用Material Design过程中,配色和UI字体模糊的问题

    有关Material Design的使用方法,请自行参考这个链接 WPF使用Material Design 下面,直接上我碰到的问题及解决方式 默认情况下,Material Design是提供了很多主题配色,但难免有些太过“出挑”,不适合工控软件的风格。 所以,下面简单介绍一下手动配色的基础方法: 代表采用的是

    2024年02月06日
    浏览(43)
  • WPF .Net6框架下, 使用 Microsoft.Xaml.Behaviors.Wpf 的Interaction.Triggers特性,实现ComboBox 在展开时,触发刷新列表内容的动作

    ComboBox 在WPF中是常见的控件。 一般情况下,在绑定好数据源后,其内容是固定的。 当然,你也可以实时刷新,但这将带来较高的资源消耗。 因此有个折中的办法: 只在它在展开时,自动更新列表内容。 当前文章基于 .Net6框架,其他框架不适用。 这个是用于平替winform某个组

    2024年02月09日
    浏览(44)
  • YOLOv5简介

    一、输入端 1. Mosaic数据增强: CutMix 数据增强 :随机生成一个裁剪框Box,裁剪掉A图中的相应位置,然后用B图相应位置的ROI放到A中被裁剪的区域中形成新的样本。采用加权求和的方式计算损失,将A区域中被cut掉的位置随机填充训练集中其他数据的区域像素值,分类结果按一

    2024年02月03日
    浏览(37)
  • [C#]OpenCvSharp结合yolov8-face实现L2CS-Net眼睛注视方向估计或者人脸朝向估计

    github地址:https://github.com/Ahmednull/L2CS-Net L2CS-Net介绍: 眼睛注视(eye gaze) 是在各种应用中使用的基本线索之一。 它表示用户在人机交互和开放对话系统中的参与程度。此外,它还被用于增强现实,用于预测用户的注意力,从而提高设备的感知能力,降低功耗。 因此,研究人

    2024年01月16日
    浏览(28)
  • Yolov5改进算法之添加Res2Net模块

    目录 1. Res2Net介绍 1.1 Res2Net的背景和动机 1.2 Res2Net的基本概念 2. YOLOV5添加Res2Net模块   Res2Net (Residual Resolution Network)是一种用于图像处理和计算机视觉任务的深度卷积神经网络架构。它旨在解决传统的ResNet(Residual Network)存在的问题,如对不同尺度和分辨率特征的建模不足

    2024年02月10日
    浏览(27)
  • 如何使用Django 结合WebSocket 进行实时目标检测呢?以yolov5 为例,实现:FPS 25+ (0: 系统简介与架构)

    访问:http://127.0.0.1:8000/ObjectDetection/ObjectDetection1/ 先看下效果:两个摄像头实时展示 之后更新了效果,打算加上检测结果和 FPS ,结果加上FPS 实测了一下,好家伙一秒30-40 帧都行 在我的3060 上,这是python 写的 前后端实时检测你敢信,还两个摄像头机位。

    2023年04月08日
    浏览(27)
  • C# OpenCvSharp Yolov8 Pose 姿态识别

    目录 效果 项目 模型信息 代码 下载  VS2022 .net framework 4.8 OpenCvSharp 4.8 Microsoft.ML.OnnxRuntime 1.16.2 Model Properties ------------------------- date:2023-09-07T17:11:43.091306 description:Ultralytics YOLOv8n-pose model trained on /usr/src/app/ultralytics/datasets/coco-pose.yaml author:Ultralytics kpt_shape:[17, 3] task:pose l

    2024年02月07日
    浏览(28)
  • C# OpenCvSharp Yolov8 Detect 目标检测

    目录 效果 模型信息 项目 代码 下载  Model Properties ------------------------- date:2023-09-05T13:17:15.396588 description:Ultralytics YOLOv8n model trained on coco.yaml author:Ultralytics task:detect license:AGPL-3.0 https://ultralytics.com/license version:8.0.170 stride:32 batch:1 imgsz:[640, 640] names:{0: \\\'person\\\', 1: \\\'b

    2024年02月02日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包