YoloV5+TensorRT封装|C#调用dll实现V5+TRT目标检测

news2024/12/26 11:18:24

        在目标检测得领域中,yolo系列无疑是最强得目标检测框架,而其中得yolov5更是扛把子得存在,虽然有着众多的yolo系列版本,但是在工业领域中yolov5还是用的最多,yolov5 yyds,,,先奉献上我的膝盖。。。。0.0        

        在模型加速得过程中,GPU得使用无疑是必须使用。不会GPU也不好意思说自己搞这些得吧。在GPU加速中TensorRT无疑是使用的最多的,加速快的一笔。

        在工业检测中,大多数都是C#+C++,其中C#做界面,C++写算法,这个就要涉及到其中的数据交互得问题,C++导出dll,C#调用其中得dll,将结果绘制到界面上。这一般是两个小组完成的,C#小组完成C#部分,C++完成C++部分。同时,也有使用QT+C++得,QT做界面也不错。总之多种多样吧。

        C#与C++互动大家可以参考下面这位大佬得博客。我也是参考他的博客得。

参考文献:

60、在Visual Studio 2019 环境下,使用C#调用C++生成的dll实现yolov5的图片检测_sxj731533730的博客-CSDN博客_c# yolov5基本思想:写了一个简单的c#调用c++的dll库,完成yolov5检测图片的分类一、创建一个c++工程,详细的构建和配置环境就不详细累述了,贴代码吧,导入opencv和ncnn库即可,因为需要考虑使用C#调用,所以改的代码尽量迎合C#调用的风格main.cpp#include "connect.h" int main(int argc, char** argv){ cv::Mat image = cv::imread("F:\\sxj\\predictiohttps://sxj731533730.blog.csdn.net/article/details/121678062

        在C#中得编译,paddlepaddle做的挺不错得,大家可以去编译一下。。这是很久之前做的编译。现在已经不再用paddlepaddle了。

基于paddledetection+C#+emgucv目标检测_汤姆or杰瑞的博客-CSDN博客基于paddledetection或者paddlex如何训练模型就不再这说了,具体参考官方文档,接下来主要是模型如何本地部署并用C#进行调用。我用的官方给的从PaddleDetection中导出的YOLOv3模型,大家自行下载具体链接:https://bj.bcebos.com/paddlex/deploy2/models/yolov3_mbv1.tar.gz安装cmake+opencv+paddle+预测库,自行编译,不过官方给的demo里面有个小bug,需要自己自行修改。接下来在C#进行单幅图.https://blog.csdn.net/zhangdaoliang1/article/details/118991943言归正传,下面我们使用C++导出dll,其实主要的操作都是参考上面那位大佬的,基本步骤都是一致得。下面展示一下效果:

单幅图检测:

 

视频流检测:

 

其中还存在一个问题没有实现多batch得图像检测,只能是单个图像得检测。。。。。。。。。。

下面贴上上面大佬的代码(我的代码和上面大佬一致,就不贴上了。)

https://pan.baidu.com/s/1RVh1XtqvFuWuHyuZKxuzDw?pwd=vsxz 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/32097.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

上海亚商投顾:沪指高开低走 钠离子电池、储能概念崛起

上海亚商投顾前言:无惧大盘大跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 三大指数今日高开低走,收盘均小幅下跌,以中字头为首的权重股走弱,上证50跌超0.…

SpringBoot中如果字段为空就不返回给前端

SpringBoot中如果字段为空就不返回给前端前言测试参数的执行结果JsonInclude.Include.ALWAYSJsonInclude.Include.NON_NULLJsonInclude.Include.NON_ABSENTJsonInclude.Include.NON_EMPTYJsonInclude.Include.NON_DEFAULTJsonInclude.Include.USE_DEFAULTSJsonInclude.Include.…

2.(vue3.x+vite)使用vue-router

前端技术社区总目录(订阅之前请先查看该博客) 前端技术社区:vue3.x+vite,node篇,前端小技术,前端资料篇等相关内容的介绍 1:安装vue-router npm i vue-router 2:创建router文件 在src的目录下创建router文件夹与index.js文件 index.js文件内容如下: import {cr…

C#学习以及感受

我本来是写Java的,但是这边的代码用的是.NetCore框架 就自学了 但是学下来,发现其实这两者并没有什么本质区别 Java导包用import而c#用using Java与c#都是写一个静态的main方法来启动,c#的Main必须大写 Java和c#的数据类型基本一样,c#中的string的s可以小写,c#的布尔类型是bool…

Landsat Collection 2 T1一级数据详细介绍(数据处理过程和几何精度)

几项数据处理、几何和辐射改进,以及新的数据分发过程,定义了 Collection 2 Level-1 数据。此页面提供了有关用户可以在 Landsat Collection 2 Level-1 数据中找到的更改的详细信息。请参阅本页下方列出的特定于仪器的数据格式控制手册,以更全…

Redis基础命令(List类型)双链表

目录 概述: 特征:(与LinkedList类似) List常见命令 1.Lpush key element.....:向列表左侧插入一个或多个元素 2.LPOP key :移除并返回列表左侧的第一个元素,没有则返回nil 3.RPUSH key ele…

【allegro 17.4软件操作保姆级教程四】布线前准备之叠层和阻抗设计

通常在设计中,如果我们有控制阻抗的要求,一般会在加工工艺文档里进行说明,板厂拿到文档和相关工程文件后,会进行工程评估确认,会根据板厂的实际情况进行叠层和线宽的调整,所以这里只是进行简单分析&#xf…

sqli-labs/Less-59

这一关又只有五次机会 而且仍然是以id作为注入点 我们尽量再前一轮完成注入类型的判断 在后一轮完成各种爆破操作 首先先判断注入类型是否属于数字型注入 输入id1 and 12 回显如下 没有回显 说明后续操作不能使用报错注入解决问题 并且肯定是属于数字型注入 倒是有无修饰符不懂…

【javaEE】网络原理(数据链路层+小结)

努力经营当下,直至未来明朗! 文章目录前言一、数据链路层1. 以太网2. 认识MTU(没时间可以跳过)3. 认识ARP(没时间就跳过)二、 【网络原理小结】(含面试题)THINK前言 一个人最大的痛…

搭建vue3.2+vite+ts+pinia项目

用到的技术 vue3.2vitetspinia 搭建项目 前言 vue3vite 会比vue2webpack的速度快很多;Vite 是一个轻量级的、速度极快的构建工具; vite官网 创建项目 npm create vitelatest报错了: 初始化失败 npm ERR! Could not install from “File…

【C语言】单词拼写检查

《算法集训传送门》 👉引言 铭记于心🎉✨🎉我唯一知道的,便是我一无所知🎉✨🎉💖 ❄️我们的算法之路❄️💖众所周知,作为一名合格的程序员,算法 能力 是不可…

基于飞书通讯录同步构建本地LDAP服务,打通各应用系统间的组织架构和账号信息

目前飞书社交办公应用成为公司日常沟通办公的协作工具,以及作为各种流程的审批处理系统,HR 也会在飞书上去管理所有员工的状态及组织架构。 随着公司内新部署的业务系统越来越多,例如Jenkins、JIRA、Gitlab、Confluence、禅道等,有…

门店数字化转型| 美发店智慧管理系统

颜值经济时代及他经济崛起,人们更注重自身形象,且追求方便快捷体验好的服务,而且她们越来越理智,不再盲目跟风,关注自身感受,追求便利个性化服务。 美容美发市场规模大但整体线上化程度偏低,下沉…

计算机网络复习——第六章网络层

hhhhh 还是今天的我,今天把这两个肝了,准备27考试,耶耶耶!!!小h加油! 《计算机网络》(谢希仁)内容总结 (javaguide.cn) 重点知识: 域名系统(DN…

gptp报文完成时间同步原理

gptp(generalized Precision Time Protocol,广义精确时间同步协议),能够完成微秒级的时间信息同步 gptp定义了两种类型的设备 每一种设备都有自己的本地时钟,设备中用来发布同步时间报文的网络端口被称为主端口,用来接收时间同步报文的被称…

【Flutter】mixin简单使用

序言 之前有个技改任务,把司机学堂代码由原生转到Flutter。过程中遇到一个问题,学堂资料有pdf、视频、和图片,三种学习都会有几个共同的方法,比如学习进度更新、弹窗提示、完成接口调用等。在iOS中是用协议方法来实现&#xff0c…

Paper写作如何正确掌握模板内容?

要写好Paper绝不仅仅是掌握模版或者结构就够了,也不要指望几个小时内搞定一篇(只有经验超级丰富的人才有可能)。你们要做的是: To write a paper well is not only to master the template or structure,but also not to expect to finish one article i…

现代密码学导论-6-完美保密性的局限性

目录 2.3 Limitations of Perfect Secrecy 完美保密性的局限性 THEOREM 2.11 完美保密对密钥空间的要求 THEOREM 2.11 的证明 2.3 Limitations of Perfect Secrecy 完美保密性的局限性 在前一节的最后,我们指出了一次性密码本方案的缺点。事实上,这些…

vue-cli + APIcloud

1.安装node.js 2.全局安装cli3 npm install -g vue/cli 备注:vue cli3官网 https://cli.vuejs.org/zh/ 3.进入工作目录里运行 vue ui,此时会打开vue的UI面板 4.在面板中创建新项目,输入项目名之后点击下一步,选择预设-默认后直接创…

【手把手】教你玩转SpringCloud Alibaba之Seata

1、事务的概念 分布式事务理论 事务的四大特性:A(Atomic):原子性,构成事务的所有操作,要么都执行完成,要么全部不执行,不可能出现部分成功部分失 败的情况;C&#xff0…