[C#]使用C#部署yolov8的目標檢測tensorrt模型

【測試通過環境】

win10 x64
vs2019
cuda11.7+cudnn8.8.0
TensorRT-8.6.1.6
opencvsharp==4.9.0
.NET Framework4.7.2

NVIDIA GeForce RTX 2070 Super

版本和上述環境版本不一樣的需要重新編譯TensorRtExtern.dll,TensorRtExtern源碼地址:TensorRT-CSharp-API/src/TensorRtExtern at TensorRtSharp2.0 · guojin-yan/TensorRT-CSharp-API · GitHub

Windows版 CUDA安裝參考:Windows版 CUDA安裝_win cuda安裝-CSDN博客

【特別注意】

tensorrt依賴不同硬件需要自己從onnx轉換tensorrt,轉換就是調用api實現,比如

TensorRtSharp.Custom.Nvinfer.OnnxToEngine(@"C:\Users\Administrator\Desktop\yolov8n.onnx",1024);

【視頻演示和解說】

使用C#部署yolov8的目標檢測tensorrt模型_嗶哩嗶哩_bilibili測試環境:win10 x64vs2019cuda11.7+cudnn8.8.0TensorRT-8.6.1.6opencvsharp==4.9.0.NET Framework4.7.2特別注意:環境一定要對上,否則無法正常運行,具體可以參考我的博客和錄制視頻。博客地址:blog.csdn.net/FL1623863129/article/details/139282375, 視頻播放量 1、彈幕量 0、點贊數 0、投硬幣枚數 0、收藏人數 0、轉發人數 0, 視頻作者 未來自主研究中心, 作者簡介 未來自主研究中心,相關視頻:YOLOv10殺瘋了!Github上剛剛發布!超熱乎的實時端到端目標檢測來了!CV方向的初學者請速速看過來!,北京籍前華為首名女黑客瑾瑾 在b站堅持直播編程到凌晨 可直播間卻僅1在線,用C#部署yolov8的tensorrt模型進行目標檢測winform最快檢測速度,C#模型部署平臺:基于YOLOv8目標檢測模型的視頻檢測,yolov10 tensorrt C++ 推理!全網首發!,將yolov5-6.2封裝成一個類幾行代碼完成語義分割任務,labelme json轉yolo工具用于目標檢測訓練數據集使用教程,C#YOLO工業滑軌螺絲缺失檢測~示例,使用純opencv部署yolov8目標檢測模型onnx,這也太全了!圖像處理、特征提取、目標檢測、圖像檢索、圖像分類、圖像修復、醫療影像等七大計算機視覺算法一口氣學完!icon-default.png?t=N7T8https://www.bilibili.com/video/BV1t142127dW/?vd_source=989ae2b903ea1b5acebbe2c4c4a635ee

【部分實現源碼】

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using FIRC;
using OpenCvSharp;
using TrtCommon;
using TensorRtSharp;
using TensorRtSharp.Custom;
using System.Diagnostics;namespace WindowsFormsApp1
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){Yolov8Det yolov8Det = new Yolov8Det("yolov8n.engine");Mat image1 = Cv2.ImRead(@"E:\person.jpg");List<DetResult> detResults = yolov8Det.Predict(new List<Mat> { image1 });Mat re_image1 = Visualize.DrawDetResult(detResults[0], image1);Cv2.ImShow("image1", re_image1);Cv2.WaitKey(0);}private void button2_Click(object sender, EventArgs e){TensorRtSharp.Custom.Nvinfer.OnnxToEngine(@"C:\Users\Administrator\Desktop\yolov8n.onnx",1024);}private void button3_Click(object sender, EventArgs e){Yolov8Det detector = new Yolov8Det("yolov8n.engine");VideoCapture capture = new VideoCapture(0);if (!capture.IsOpened()){Console.WriteLine("video not open!");return;}Mat frame = new Mat();var sw = new Stopwatch();int fps = 0;while (true){capture.Read(frame);if (frame.Empty()){Console.WriteLine("data is empty!");break;}sw.Start();List<DetResult> detResults = detector.Predict(new List<Mat> { frame });Mat resultImg = Visualize.DrawDetResult(detResults[0], frame);sw.Stop();fps = Convert.ToInt32(1 / sw.Elapsed.TotalSeconds);sw.Reset();Cv2.PutText(resultImg, "FPS=" + fps, new OpenCvSharp.Point(30, 30), HersheyFonts.HersheyComplex, 1.0, new Scalar(255, 0, 0), 3);//顯示結果Cv2.ImShow("Result", resultImg);int key = Cv2.WaitKey(10);if (key == 27)break;}capture.Release();}}
}

【演示源碼下載地址】https://download.csdn.net/download/FL1623863129/89372271

注意源碼提供上面對應環境的dll,只需要安裝上面一樣cuda+cudnn和tensorrt版本即可正常運行。如果您不安裝一樣版本不能正常運行。此時需要重新編譯TensorRtExtern.dll,此外由于tensorrt依賴硬件不一樣電腦可能無法共用tensorrt模型,所以必須要重新轉換onnx模型到engine才可以運行。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/21689.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/21689.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/21689.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

期權的權利金怎么算的

期權權利金的計算涉及多個因素&#xff0c;包括敲定價格、到期時間以及整個期權合約的具體情況。期權的權利金具體的計算公式和因素可能因不同的期權合約和市場條件而有所不同&#xff0c;下文為大家介紹期權的權利金怎么算的 &#xff1f;本文來自&#xff1a;期權醬 一、期權…

【LeetCode】二叉樹oj專題

如有不懂的地方&#xff0c;可查閱往期相關文章&#xff01; 個人主頁&#xff1a;小八哥向前沖~ 所屬專欄&#xff1a;數據結構【c語言】 目錄 單值二叉樹 對稱二叉樹 計算二叉樹的深度 二叉樹的前序遍歷 相同二叉樹 另一棵樹的子樹 二叉樹的構建和遍歷 翻轉二叉樹 判…

spring boot 中的異步@Async

spring boot 開啟異步調用 1、啟動類上添加EnableAsync注解&#xff0c;表示啟動異步 2、在具體實現異步的方法上添加Async注解 package com.example.demo;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootAppli…

YOLOv3+mAP實現金魚檢測

YOLOv3mAP實現金魚檢測 Git源碼地址&#xff1a;傳送門 準備數據集 按幀數讀取視頻保存圖片 video2frame.py使用labelimg標注工具對圖片進行標注統一圖片大小為 416x416&#xff0c;并把標簽等信息寫成.xml文件 conver_point.py讀取縮放后的標簽圖片&#xff0c;轉為左上角右下…

如何快速部署上線項目

CSDN 的小伙伴們&#xff0c;大家好呀&#xff0c;我是蒼何。 今天在群里面看到有小伙伴反饋說&#xff0c;面試的時候一被問到簡歷中的項目還沒上線&#xff0c;就不繼續問了&#xff0c;感覺挺奇葩的&#xff0c;要知道就校招來說&#xff0c;項目本身大部分都是練手的項目&…

Linux基礎1-基本指令3

上篇文章我們說到了文件&#xff0c;pwd&#xff0c;touch&#xff0c;mkdir等知識。 Linux基礎1-基本指令2&#xff08;你真的了解文件嗎?&#xff09;-CSDN博客 本文繼續梳理其他基礎命令 1.本章重點 1.刪除一個空目錄命令rmdir 2.刪除一個文件指令rm(重要!) 3.man命令&am…

Lf工作流自定義html節點

1.定義js文件CustomCircle.js import { HtmlNode, HtmlNodeModel } from "logicflow/core"; class UmlModel extends HtmlNodeModel {setAttributes() {this.text.editable false; // 禁止節點文本編輯// 設置節點寬高和錨點const width 120;const height 70;thi…

做視頻號小店保證金要交多少?保證金提現條件是什么?

大家好&#xff0c;我是噴火龍。 做視頻號小店也是需要繳納保證金的&#xff0c;保證金分為類目保證金和浮動保證金。 先來說說類目保證金&#xff0c;類目保證金由視頻號小店主體資質類型和經營商品類目決定。 類目保證金有以下三點需要注意&#xff1a; 1. 如果你要申請新…

CentOS 7~9 救援模式恢復root密碼實戰指南

在管理Linux服務器時&#xff0c;忘記root密碼是一件棘手的事情&#xff0c;但幸運的是&#xff0c;CentOS提供了救援模式來幫助我們重置root密碼。本文將詳細介紹如何通過GRUB引導菜單進入緊急模式&#xff08;或稱為救援模式&#xff09;&#xff0c;進而恢復root用戶的密碼。…

Python量化交易學習——Part4:基于基本面的單因子選股策略

技術分析與基本面分析是股票價格分析最基礎也是最經典的兩個部分。技術分析是針對交易曲線及成交量等指標進行分析,基本面分析是基于公司的基本素質進行分析。 一般來說選股要先選行業,在選個股,之后根據技術分析選擇買賣節點,因此針對行業及個股的基本面分析是選股的基礎。…

【ARMv7-A】——WFE(wait for event)

文章目錄 WFE基本概念工作原理事件類型使用場景WFIWFEWFE 和 WFI 相同點WFE 和 WFI 不同點觸發條件事件標志影響多核系統中的應用使用場景:代碼實例linux 內核中的 WFI 指令WFE WFE 即 Wait for ev

# 全面解剖 消息中間件 RocketMQ-(4)

全面解剖 消息中間件 RocketMQ-&#xff08;4&#xff09; 一、RocketMQ 順序消息分析 1、消息有序&#xff1a;指的是可以按照消息的發送順序來消費(FIFO)。RocketMQ 可以嚴格的保證消息有序&#xff0c;可以分為分區有序或者全局有序。 2、順序消費的原理解析 在默認的情…

身份證真假查詢API、C#身份證識別、駕駛證識別接口

線上平臺想要在節省成本、節省時間的前提下實現身份證實名認證的功能&#xff0c;可以考慮云服務平臺&#xff0c;例如翔云API開放平臺&#xff0c;專注于數字化接口服務的提供。翔云身份證實名認證接口&#xff0c;搭配翔云身份證識別接口&#xff0c;實時聯網秒速核驗身份證信…

vfrom二開給左邊添加字段或者容器

例如&#xff0c;我在左側加入一個 我的公司 字段 修改三個文件&#xff0c;這是文件目錄 這個文件是當界面選擇 簡體中文 的時候&#xff0c;顯示的 字段組件 或者 容器組件的中文名 這個文件是當界面選擇 English 的時候&#xff0c;顯示的 字段組件 或者 容器組件的英文名 把…

Spring Boot 集成 zxing 生成條形碼與二維碼

前面我們知道了怎么通過 使用 zxing 生成二維碼以及條形碼&#xff0c; 由于我們現在都是 web 端的項目了&#xff0c;那么我們看下怎么使用 Spring Boot 集成然后返回給前端展示&#xff1a; 工程源碼 對應的工程源碼我放到了這里&#xff1a;github源碼路徑&#xff0c;點擊…

d2-crud-plus 使用小技巧(六)—— 表單下拉選擇 行樣式 溢出時顯示異常優化

問題 vue2 elementUI d2-crud-plus&#xff0c;數據類型為select時&#xff0c;行樣式顯示為tag樣式&#xff0c;但是如果選擇內容過長就會出現下面這種bug&#xff0c;顯然用戶體驗不夠友好。 期望 代碼 js export const crudOptions (vm) > {return {...columns:…

圖書管理系統(https://github.com/plusmultiply0/bookmanagesystem)

特意去github找了一個用flask框架的項目&#xff0c;一起來學習它吧 這個系統包括很多功能&#xff1a;用戶權限管理模塊&#xff08;管理員和普通用戶&#xff09;&#xff0c;注冊登錄模塊&#xff08;滑塊驗證碼功能&#xff09;&#xff0c;圖書有關信息模塊&#xff08;借…

毫米級精度3D人臉掃描設備,助推打造元宇宙虛擬分身

在元宇宙中&#xff0c;虛擬分身對應的是一個三維模型&#xff0c;數字化的過程則是三維重建過程&#xff0c;通過3D人臉掃描可以通過多相機同步采集人臉部&#xff0c;可快速、準確地重建出真人地臉部模型及貼圖&#xff0c;通過3D人臉掃描設備可快速重建出高逼真的虛擬分身。…

Linux系統下+jmeter分布式壓測

一.配置jdk&#xff08;Linux機都需配置同一個版本&#xff09; 下載Linux系統的jdk&#xff0c;下載地址&#xff1a;https://repo.huaweicloud.com/java/jdk/ 下載后的jdk文件上傳到 /opt目錄下 進入opt目錄&#xff0c;查看jdk文件 cd /opt ll 1.解壓文件 tar xzvf jd…

真國色碼上贊,科技流量雙劍合璧,商家獲客新紀元開啟

在數字化浪潮洶涌的今天,真國色研發團隊依托紅玉房網絡科技公司的雄厚實力,憑借科技領先的核心競爭力,推出了創新性的商家曝光引流工具——碼上贊。這款工具借助微信支付與視頻號已有功能,為實體商家提供了一種全新的引流獲客方式,實現了科技與商業的完美融合。 科技領先,流量黑…