[C#]C# winform部署yolov13目標檢測的onnx模型

yolov13官方框架:github.com/iMoonLab/yolov13/releases/tag/yolov13

【測試環境】

vs2019

netframework4.7.2

opencvsharp4.8.0

onnxruntime==1.16.3

【效果展示】

【調用代碼】

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();Yolov13Manager ym = new Yolov13Manager();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(result,src);pictureBox2.Image= OpenCvSharp.Extensions.BitmapConverter.ToBitmap(resultMat); //Mat轉Bitmap}private void Form1_Load(object sender, EventArgs e){ym.LoadWeights(Application.StartupPath+ "\\weights\\yolov12n.onnx", Application.StartupPath + "\\weights\\labels.txt");}private void btn_video_Click(object sender, EventArgs e){var detector = new Yolov13Manager();detector.LoadWeights(Application.StartupPath + "\\weights\\yolov13n.onnx", Application.StartupPath + "\\weights\\labels.txt");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();var result = detector.Inference(frame);var resultImg = detector.DrawImage(result,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();}}
}

【運行步驟】

(1)首先依據官方安裝教程或者其他網站給的安裝教程,安裝好yolov13環境

(2)下載模型:yolov13n.pt
(3)導出onnx模型:yolo export model=yolov13n.pt format=onnx dynamic=False opset=12
(4)然后將yolov13.onnx模型放進FIRC\bin\x64\Debug\weights
最后運行項目選擇x64 Debug即可,由于初次運行可能報錯,如果報錯請查看blog.csdn.net/FL1623863129/article/details/135424751
解決方法

【視頻演示】

bilibili.com/video/BV1GaKRzrEC4/

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

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

相關文章

創客匠人 AI 賦能:創始人 IP 打造的效率革命與信任重構

在注意力經濟時代,創始人 IP 面臨內容生產效率與信任構建的雙重挑戰。創客匠人 2025 年戰略升級為 “IP 變現整體解決方案服務商”,其推出的 AI 銷售信、免訓數字人、智能客服三大工具,正通過技術重構破解行業痛點,為知識變現開辟…

飛輪儲能VSG控制策略輔助雙饋風機一次調頻的仿真模型研究

以下是為您撰寫的《飛輪儲能VSG控制策略輔助雙饋風機一次調頻的仿真模型研究》技術報告,包含完整的理論分析、控制策略設計及MATLAB/Simulink仿真實現細節: 飛輪儲能VSG控制策略輔助雙饋風機一次調頻的仿真模型研究 摘要 針對雙饋感應發電機(DFIG)參與電網一次調頻時存在…

臨床開發計劃:從實驗室到市場的戰略藍圖

一、臨床開發計劃概述 1.1 定義與重要性 1.1.1 CDP核心定義 臨床開發計劃(CDP)是藥物、生物制品或醫療器械從實驗室走向市場的核心路線圖,詳細規劃臨床研究及其策略、時間表和資源需求,以滿足監管機構審批要求。 1.1.2 指導意義 CDP為開發團隊提供清晰指引,指導資源規劃…

【大模型實戰】微調Qwen2.5 VL模型,增強目標檢測任務。

文章目錄 制作數據集使用微調的模型制作數據集 制作數據集 這個章節將詳細解析一個將Labelme標注數據集轉換為Qwen2.5-VL模型訓練格式的Python腳本。該工具實現了圖像大小調整、邊界框坐標轉換和數據格式標準化等功能。生成適用Qwen2.5-VL的數據集。 核心功能概述 圖像處理&a…

【python實用小腳本-118】基于Flask的用戶認證系統:app.py、forms.py與user.py解析

在當今的網絡應用中,用戶認證是一個不可或缺的功能。無論是社交平臺、電商平臺還是企業管理系統,都需要確保只有授權用戶才能訪問特定的資源。本文將詳細介紹一個基于 Flask 框架的用戶認證系統,該系統由三個主要文件組成:app.py、…

phpstudy apache偽靜態.htaccess文件置空丟失問題解決

phpstudy apache偽靜態.htaccess文件置空丟失 在使用phpstudy本地部署項目的時候,創建網站-根目錄選擇public等運行目錄,并且點擊確認后,會碰到原本項目中的apache偽靜態.htaccess文件被置空丟失的問題,導致項目無法正常訪問。 解…

【thinkphp5】Session和Cache記錄微信accesstoken

記錄一個項目實際遇到的坑,不要把token存放在session,要存在在cache里面!! 因為Session并不能設置expire過期時間,Session::set()方法第三個參數是作用域,而非過期時間!!&#xff0…

網絡協議完全指南:從HTTP長短連接到TCP-UDP的深度對話

🌐 網絡協議完全指南:從HTTP長短連接到TCP-UDP的深度對話 本文采用對話形式,通過小李和小王的問答,深入淺出地講解網絡協議、長短連接等核心概念,幫助讀者建立完整的網絡知識體系。 引言 在Java后端開發中&#xff0c…

04-StarRocks集群運維FAQ

StarRocks集群運維FAQ 概述 本文檔整理了StarRocks集群運維過程中常見的問題和解決方案,涵蓋了集群管理、節點維護、監控告警、故障處理等各個方面,幫助運維人員高效管理StarRocks集群。 集群管理FAQ Q1: 如何查看集群狀態? A: 集群狀態查看方法: 1. 查看FE節點狀態 …

通過Prompt提示構建思維鏈

《DEEPSEEK原生應用與智能體開發實踐 王曉華 書籍 圖書》【摘要 書評 試讀】- 京東圖書 思維鏈技術開啟了人工智能通向人類智能的嶄新路徑。它讓模型不再僅僅是機械地執行指令,而是開始具備類似人類的思考方式,能夠理解問題的本質,進行深層次…

OpenCV邊緣填充方式詳解

一、邊緣填充概述 在圖像處理中,邊緣填充(Border Padding)是一項基礎而重要的技術,特別是在進行卷積操作(如濾波、邊緣檢測等)時,處理圖像邊緣像素需要用到周圍的像素值。由于圖像邊緣的像素沒…

如何評估RAG系統?全面指標體系

構建一個可靠的 檢索增強生成(Retrieval-Augmented Generation, RAG)系統,不僅要關注模型的構建,更重要的是對系統性能進行科學、系統的評估。評估不僅衡量系統的效果,也為迭代優化提供依據。 本文將圍繞 RAG 系統的評…

力扣-合并區間

題目 56. 合并區間 - 力扣&#xff08;LeetCode&#xff09; 解析: 先按開始維度排序&#xff0c;之后依次合并&#xff0c;如果開頭 < 當前區間的最后就合并&#xff0c;> 就開辟新區間 代碼: class Solution {public int[][] merge(int[][] intervals) {int n in…

【軟考高級系統架構論文】論基于構件的軟件開發方法及其應用

論文真題 基于構作的 軟件開發 (Component-Based Software Development,CBSD) 是一種基于分布對象技術、強調通過可復用構件設計與構造軟件系統的軟件復用途徑。基于構件的軟件系統中的構件可以是COTS (Commercial-Off-the-Shelf) 構件,也可以是通過其它途徑獲得的構件(如自…

recipes的版本比較老如何更新到新版本?

在 Yocto 項目中,當你發現 “meta-openembedded” 層中的某些 recipe 版本太舊,而你想使用更新版本時,最佳實踐是在你自己項目的自定義層 (custom layer) 中使用 “bbappend” 文件進行覆蓋或升級。 核心思路: 不要直接修改 “meta-openembedded” 層的 recipe ( “*.bb”…

【軟件系統架構】系列四:嵌入式軟件-NPU(神經網絡處理器)系統及模板

目錄 一、什么是 NPU? 二、NPU 與 CPU/GPU/DSP 對比 三、NPU 的工作原理 核心結構: 數據流架構: 四、NPU 芯片架構(簡化圖) 五、NPU 的優勢 六、NPU 應用場景 視覺識別 語音識別 自動駕駛 智能監控 AIoT 設備 七、主流 NPU 芯片/架構實例 八、開發者工具生…

【NLP】使用 LangGraph 構建 RAG 的Research Multi-Agent

本文中&#xff0c;我們介紹了一個使用LangGraph開發的RAG的Research Multi-Agent工具的實際項目。該工具旨在解決需要多個來源和迭代步驟才能得出最終答案的復雜問題。它使用混合搜索和rerank步驟來檢索文檔&#xff0c;還結合了自我糾正機制&#xff0c;包括幻覺檢查過程&…

【Docker基礎】Docker容器管理:docker restart詳解

目錄 1 docker restart命令概述 1.1 命令作用 1.2 與相關命令對比 2 命令語法詳解 2.1 基礎語法 2.2 核心參數說明 3 核心原理深度解析 3.1 信號傳遞機制 3.2 狀態轉換 4 典型應用場景 4.1 服務配置更新 4.2 故障恢復流程 5 進階使用技巧 5.1 組合命令應用 5.2 …

mongoDB服務本地化部署

mongoDB服務本地化部署 前言mongoDB下載選擇版本安裝 前言 mongoDB數據庫解釋 MongoDB 是由C語言編寫的&#xff0c;是一個基于分布式文件存儲的開源數據庫系統&#xff1b;在高負載的情況下&#xff0c;添加更多的節點&#xff0c;可以保證服務器性能&#xff1b;MongoDB 旨在…

YOLOv10tensorRT推理代碼C++

最近實現了YOLOv10的tensorRT推理代碼除了后處理部分只適合YOLOv10之外&#xff0c;其余部分基本可以在yolo系列通用~學習記錄~。 #include <fstream> #include <iostream> #include <vector> #include <opencv2/opencv.hpp> #include "NvInfer.…