OpenCVSharp 使用 Yolo V3 模型进行视频目标检测和分类

该博客介绍了如何在C#环境下利用OpenCVSharp库结合YOLOv3模型进行目标检测。首先,下载预训练的YOLOv3模型文件,包括cfg、weights和类别名称文件。然后,通过读取模型配置,设定阈值,对视频帧进行处理,将图像转换为blob输入网络,并获取输出层。接着,提取最佳结果,进行非极大值抑制(NMS)以消除重叠框。最后,绘制识别出的目标框及标签,并实时显示结果。整个过程展示了C#与OpenCVSharp在计算机视觉领域的应用。

首先下载 Yolo 训练好的模型:https://pjreddie.com/media/files/yolov3.weights

 共3个文件:yolov3.cfg,yolov3.weights,coco.names

using System.Collections.Generic;
using System.IO;
using System.Linq;
using OpenCvSharp;
using OpenCvSharp.Dnn;

namespace OpenCvSharpYolo3
{
    class Program
    {

        static string[] Labels;
        static void Main()
        {
            const string Cfg = @"h:\csharp\yolov3\yolov3.cfg";
            const string Weight = @"h:\csharp\yolov3\yolov3.weights";
            const string Names = @"h:\csharp\yolov3\coco.names";

            const float threshold = 0.5f;       //置信度阈值
            const float nmsThreshold = 0.3f;    //nms 阈值

            //读入标签
            Labels = File.ReadAllLines(Names).ToArray();

            string videofile = @"h:\csharp\videos\vtest.avi";

            var net = CvDnn.ReadNetFromDarknet(Cfg, Weight);
  
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值