C# PaddleDetection 目标检测 ( yolov3_darknet)
效果

项目
VS2022+.net4.8+OpenCvSharp4+Sdcb.PaddleDetection

代码
using OpenCvSharp;
using OpenCvSharp.Extensions;
using Sdcb.PaddleDetection;
using Sdcb.PaddleInference;
using System;
using System.Drawing;
using System.Windows.Forms;
using YamlDotNet;namespace PaddleDetection目标检测__yolov3_darknet_
{public partial class Form1 : Form{public Form1(){InitializeComponent();}Bitmap bmp;string fileFilter = "*.*|*.bmp;*.jpg;*.jpeg;*.tiff;*.tiff;*.png";string img = "";double fontScale = 2D;int thickness = 4;LineTypes lineType = LineTypes.Link4;PaddleConfig paddleConfig;PaddleDetector d;String startupPath;float confidence = 0.75f;private void button1_Click(object sender, EventArgs e){OpenFileDialog ofd = new OpenFileDialog();ofd.Filter = fileFilter;if (ofd.ShowDialog() != DialogResult.OK) return;pictureBox1.Image = null;img = ofd.FileName;bmp = new Bitmap(img);pictureBox1.Image = new Bitmap(img);}private void button2_Click(object sender, EventArgs e){if (img == ""){return;}Mat src = Cv2.ImRead(img);DetectionResult[] r = d.Run(src);for (int i = 0; i < r.Length; i++){if (r[i].Confidence > confidence){Scalar scalar = Scalar.RandomColor();Cv2.Rectangle(src, r[i].Rect, scalar, 1, LineTypes.Link8, 0);Cv2.PutText(src, r[i].LabelName, new OpenCvSharp.Point(r[i].Rect.X + r[i].Rect.Width / 2, r[i].Rect.Y + r[i].Rect.Height / 2), HersheyFonts.HersheyComplex, fontScale, scalar, thickness, lineType, false);}}pictureBox2.Image = BitmapConverter.ToBitmap(src);}private void Form1_Load(object sender, EventArgs e){startupPath = Application.StartupPath;paddleConfig = PaddleConfig.FromModelDir(startupPath + "\\yolov3_darknet\\");string configYmlPath = startupPath + "\\yolov3_darknet\\infer_cfg.yml";d = new PaddleDetector(paddleConfig, configYmlPath);}}
}
infer_cfg.yml label_list中为可识别的目标
mode: paddle
draw_threshold: 0.5
metric: COCO
use_dynamic_shape: false
arch: YOLO
min_subgraph_size: 3
Preprocess:
- interp: 2keep_ratio: falsetarget_size:- 608- 608type: Resize
- is_scale: truemean:- 0.485- 0.456- 0.406std:- 0.229- 0.224- 0.225type: NormalizeImage
- type: Permute
label_list:
- person
- bicycle
- car
- motorcycle
- airplane
- bus
- train
- truck
- boat
- traffic light
- fire hydrant
- stop sign
- parking meter
- bench
- bird
- cat
- dog
- horse
- sheep
- cow
- elephant
- bear
- zebra
- giraffe
- backpack
- umbrella
- handbag
- tie
- suitcase
- frisbee
- skis
- snowboard
- sports ball
- kite
- baseball bat
- baseball glove
- skateboard
- surfboard
- tennis racket
- bottle
- wine glass
- cup
- fork
- knife
- spoon
- bowl
- banana
- apple
- sandwich
- orange
- broccoli
- carrot
- hot dog
- pizza
- donut
- cake
- chair
- couch
- potted plant
- bed
- dining table
- toilet
- tv
- laptop
- mouse
- remote
- keyboard
- cell phone
- microwave
- oven
- toaster
- sink
- refrigerator
- book
- clock
- vase
- scissors
- teddy bear
- hair drier
- toothbrush
Demo下载
相关文章:
C# PaddleDetection 目标检测 ( yolov3_darknet)
效果 项目 VS2022.net4.8OpenCvSharp4Sdcb.PaddleDetection 代码 using OpenCvSharp; using OpenCvSharp.Extensions; using Sdcb.PaddleDetection; using Sdcb.PaddleInference; using System; using System.Drawing; using System.Windows.Forms; using YamlDotNet;namespa…...
matlab多线程,parfor循环进度,matlab互斥锁
一. 内容简介 matlab多线程,parfor循环进度,matlab互斥锁 二. 软件环境 2.1 matlab 2022b 2.2代码链接 https://gitee.com/JJW_1601897441/csdn 三.主要流程 3.1 matlab多线程 有好几种,最简单的,最好理解的就是parfor&am…...
建木使用进阶-创建密钥管理
阿丹: 第一次我们进入建木,第一件事情就是配置我们相关的密钥。 解读: 在建木中我们可以进行创建密钥来对我们服务器等密码进行方便的管理。 注意: 登录的时候账号为:admin 密码为:123456 这是初始…...
多模态第2篇:MMGCN代码配置
一、Windows环境 1.创建并激活虚拟环境 #创建虚拟环境命名为mmgcn,指定python版本为3.8 conda create -n mmgcn python3.8 #激活虚拟环境 conda activate mmgcn2.安装pytorch #torch2.0.0 cu118 pip install torch2.0.0cu118 torchvision0.15.1cu118 torchaudio…...
DHCP部署与安全详解
文章目录 一、DHCP是什么?二、DHCP相关概念三、DHCP优点四、DHCP原理1. 客户机发送DHCP Discovery广播包(发现谁是DHCP服务器)2. 服务器响应DHCP Offer广播包3. 客户机发送DHCP Request广播包4. 服务器发送DHCP ACK广播包 五、DHCP续约六、部…...
华为数通HCIP-PIM原理与配置
组播网络概念 组播网络由组播源,组播组成员与组播路由器组成。 组播源的主要作用是发送组播数据。 组播组成员的主要作用是接收组播数据,因此需要通过IGMP让组播网络感知组成员位置与加组信息。 组播路由器的主要作用是将数据从组播源发送到组播组成员。…...
linux 权限
一个文件的权限 我们知道一个文件分为两个部分:1. 文件的内容。 2. 文件的属性 我们对一个文件的操作也就存在以下的一些属性: 这个文件可以被你看到--------- 可读–read—r这个文件可以被你修改----------可写–write–w这个文件可以被编译器编译并执…...
SQL基础使用
SQL的概述 SQL全称: Structured Query Language,结构化查询语言,用于访问和处理数据库的标准的计算机语言。 SQL语言1974年由Boyce和Chamberlin提出,并首先在IBM公司研制的关系数据库系统SystemR上实现。 经过多年发…...
金蝶云星空任意文件读取漏洞复现(0day)
0x01 产品简介 金蝶云星空是一款云端企业资源管理(ERP)软件,为企业提供财务管理、供应链管理以及业务流程管理等一体化解决方案。金蝶云星空聚焦多组织,多利润中心的大中型企业,以 “开放、标准、社交”三大特性为数字…...
linux中readelf命令详解
readelf 用于显示elf格式文件的信息 补充说明 readelf命令 用来显示一个或者多个elf格式的目标文件的信息,可以通过它的选项来控制显示哪些信息。这里的elf-file(s)就表示那些被检查的文件。可以支持32位,64位的elf格式文件,也支持包含elf…...
Python 教程之标准库概览
概要 Python 标准库非常庞大,所提供的组件涉及范围十分广泛,使用标准库我们可以让您轻松地完成各种任务。 以下是一些 Python3 标准库中的模块: 「os 模块」 os 模块提供了许多与操作系统交互的函数,例如创建、移动和删除文件和…...
MySQL~数据库的基本概念
一、数据库的基本概念 1、数据库的英文单词: DataBase 【 DB】 2、什么数据库? 用于存储和管理数据的仓库。 3、数据库的特点: 持久化存储数据的 数据库就是一个文件系统 方便存储和管理数据 使用统一的方式操作数据库 -- SQL 4、常…...
uniapp文件下载
使用uniapp提供给我们的uni.downloadFile、uni.saveFile和uni.openDocument三个API就可以了 也很简单,直接贴一下代码,安修修改一下即可 <template><view><image tap"pdfDownLoad" style"width: 35rpx;height: 35rpx;&…...
让GPT人工智能变身常用工具-下
...
el-table 表格头部合并
<el-table v-loading"listLoading" :key"tableKey" :data"list" stripe border fit highlight-current-rowstyle"width: 100%;" size"mini"><el-table-column label"第一行" align"center">…...
【机器学习】Linear Regression
Model Representation 1、问题描述2、表示说明3、数据绘图4、模型函数5、预测总结附录 1、问题描述 一套 1000 平方英尺 (sqft) 的房屋售价为300,000美元,一套 2000 平方英尺的房屋售价为500,000美元。这两点将构成我们的数据或训练集。面积单位为 1000 平方英尺&a…...
STM32 中断优先级管理(二)
NVIC中断管理相关函数主要在HAL库关键文件stm32f1xx_hal_cortex.c中定义。 中断优先级分组函数 void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup);这个函数的作用是对中断的优先级进行分组,这个函数在系统中只需要被调用一次。 void HAL_NVIC_SetPrio…...
17-汽水瓶
题目 某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。 小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。 数据范围:输入的正整数满足 1≤n≤100 注意&…...
Mindar.JS——实现AR图像追踪插入图片或视频
Mindar.JS使用方式 注意:此篇文章需要启动https才可调用相机权限 图像追踪示例 需要用到两个js库 <script src"./js/aframe.min.js"></script><script src"./js/mindar-image-aframe.prod.js"></script>下面看一下标签…...
JVM源码剖析之JIT工作流程
版本信息: jdk版本:jdk8u40思想至上 Hotspot中执行引擎分为解释器、JIT及时编译器,上篇文章描述到解释器过度到JIT的条件。JVM源码剖析之达到什么条件进行JIT优化 这篇文章大致讲述JIT的编译过程。在JDK中javac和JIT两部分跟编译原理挂钩&a…...
ECAPA-TDNN实战指南:构建高精度说话人验证系统
ECAPA-TDNN实战指南:构建高精度说话人验证系统 【免费下载链接】ECAPA-TDNN Unofficial reimplementation of ECAPA-TDNN for speaker recognition (EER0.86 for Vox1_O when train only in Vox2) 项目地址: https://gitcode.com/gh_mirrors/ec/ECAPA-TDNN 当…...
大模型领域岗位梯队详解:小白程序员转型宝典,速收藏![特殊字符]
大模型领域岗位梯队详解:小白程序员转型宝典,速收藏!🔥 本文详细解析了大模型领域的岗位梯队,从底层架构到应用开发,涵盖了预训练、基础设施、模型优化、后训练、多模态等多个方向。文章强调了当前大模型领…...
2026年木蜡油定做厂家大盘点,究竟哪家才是行业首选?
在当今注重环保和品质的时代,木蜡油作为一种天然环保的涂料,受到了越来越多消费者的青睐。无论是室内外木器家具、木艺制品,还是全屋定制、装饰装修等领域,木蜡油都有着广泛的应用。然而,市场上木蜡油定做厂家众多&…...
从理论到实践:用Matlab打通数值计算核心脉络
1. 数值计算与Matlab的黄金组合 数值计算是理工科学生和工程师必备的核心技能之一。想象一下,当你面对一个复杂的工程问题,比如桥梁受力分析或者卫星轨道计算,纯手工计算几乎不可能完成。这时候数值计算就像一把瑞士军刀,而Matlab…...
C 里面如何使用链表 list
1. 学生时代, 那会学习 C 数据结构, 比较简单 struct person {int id;char name[641];struct person * next; }; 类似上面这样, 需要什么依赖 next 指针来回调整, 然后手工 print F5 去 debug 熬. 2. 刚工作青年时代, 主要花活, 随大流类似 #pragma once#include "stru…...
【Docker】Docker的安装、使用(安装nginx、mysql、redis)、配置加速镜像、项目部署;查看lastest镜像具体版本并改tag
Docker的安装 官方文档: Docker Docs Docker Hub: Docker Hub Container Image Library | App Containerization centos7安装 1、安装 清华镜像站: docker-ce | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mi…...
Baichuan-7B代码生成能力:编程助手的最佳选择 - 7B参数大模型的终极指南
Baichuan-7B代码生成能力:编程助手的最佳选择 - 7B参数大模型的终极指南 【免费下载链接】Baichuan-7B A large-scale 7B pretraining language model developed by BaiChuan-Inc. 项目地址: https://gitcode.com/gh_mirrors/ba/Baichuan-7B Baichuan-7B是由…...
Passbolt健康检查系统:10个关键步骤确保你的密码管理器正常运行
Passbolt健康检查系统:10个关键步骤确保你的密码管理器正常运行 【免费下载链接】passbolt_api Passbolt Community Edition (CE) API. The JSON API for the open source password manager for teams! 项目地址: https://gitcode.com/gh_mirrors/pa/passbolt_api…...
5分钟快速上手:AI视频生成工具完整指南
5分钟快速上手:AI视频生成工具完整指南 【免费下载链接】auto-video-generateor 自动视频生成器,给定主题,自动生成解说视频。用户输入主题文字,系统调用大语言模型生成故事或解说的文字,然后进一步调用语音合成接口生…...
效率提升秘籍:用快马AI一键生成智能书签与网址检索助手
最近在整理浏览器书签时,发现收藏夹已经乱成一团。每次想找个常用网站都得翻半天,更别提临时需要找新资源时的焦头烂额了。作为一个追求效率的程序员,我决定自己动手做个智能书签助手,没想到在InsCode(快马)平台上半小时就搞定了原…...
