C#使用OpenCvSharp4库读取本地视频

C#使用OpenCvSharp4库读取本地视频

OpenCvSharp4库

OpenCvSharp4库是一个基于.Net封装的OpenCV库,Github源代码地址为:https://github.com/shimat/opencvsharp,里面有关于Windows下安装OpenCvSharp4库的描述,如下图所示:
OpenCvSharp4库

视频资源地址

视频资源可以到https://github.com/murtazahassan/Learn-OpenCV-in-3-hours/blob/master/Resources/test_video.mp4下载

新建一个C# .Net控制台程序OpenCVExample,并安装OpenCvSharp4和OpenCvSharp4.runtime.win两个NuGet包,或者直接安装OpenCvSharp4.Windows

安装OpenCvSharp4和OpenCvSharp4.runtime.win两个NuGet包

C#示例代码

C#示例代码如下,如下代码展示了怎么使用VideoCapture和Cv2.ImShow读取本地视频:

using OpenCvSharp;
using System;

namespace OpenCVExample
{
    public class Program
    {
        /// <summary>
        ///  读取本地视频并逐帧显示
        /// </summary>
        public static void ReadLocalVideo()
        {
            VideoCapture cap = new VideoCapture("Resources\\test_video.mp4");   // 读取本地视频文件
            if (!cap.IsOpened())
            {
                Console.WriteLine("VidepCapture open failed");
                return;
            }
            while (true)
            {    // 如果cap初始化成功
                Mat frame = new Mat();
                if (cap.Read(frame))    // 抓取和解码,返回下一帧
                {
                    Cv2.ImShow("video Result", frame);
                    if (Cv2.WaitKey(1) == (int)('q'))   // 用户输入q键退出
                    {
                        break;
                    }
                }
                else
                {
                    // 当视频播放完毕,也退出
                    Console.WriteLine("there is no frame to read");
                    break;
                }

            }
        }

        static void Main(string[] args)
        {
            ReadLocalVideo();
           
            //Console.ReadKey();
        }
    }
}

运行结果

程序运行结果如下图所示:
读取本地视频运行结果

参考资料

最近更新

  1. TCP协议是安全的吗?

    2024-01-29 10:46:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-29 10:46:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-29 10:46:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-29 10:46:01       18 阅读

热门阅读

  1. Ubuntu系统桌面卡死,解决办法

    2024-01-29 10:46:01       34 阅读
  2. 计算机视觉(CV)技术的优势和挑战

    2024-01-29 10:46:01       30 阅读
  3. 【漏洞复现】金蝶云星空-AppDesigner-反序列化-rce

    2024-01-29 10:46:01       35 阅读
  4. Vue3+Echarts实现实时曲线及开始与暂停功能

    2024-01-29 10:46:01       30 阅读
  5. Qlik Sense : IntervalMatch(离散匹配)

    2024-01-29 10:46:01       29 阅读
  6. Leetcode 3021. Alice and Bob Playing Flower Game

    2024-01-29 10:46:01       36 阅读
  7. 记录 | ubuntu查看系统信息如系统版本、cpu信息

    2024-01-29 10:46:01       33 阅读
  8. ubuntu 添加 sudo 权限

    2024-01-29 10:46:01       31 阅读
  9. Matlab自学笔记二十六:sprintf函数用法简介

    2024-01-29 10:46:01       38 阅读