C#使用OpenCvSharp4实现读取本地视频

 更新时间:2024年01月30日 09:54:56   作者:雪域迷影  
OpenCvSharp4库是一个基于.Net封装的OpenCV库,这篇文章主要介绍了C#使用OpenCvSharp4实现读取本地视频的详细教程,有需要的小伙伴可以参考下

OpenCvSharp4库

OpenCvSharp4库是一个基于.Net封装的OpenCV库,Github源代码地址为:https://github.com/shimat/opencvsharp,里面有关于Windows下安装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

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();
        }
    }
}

运行结果

程序运行结果如下图所示:

到此这篇关于C#使用OpenCvSharp4实现读取本地视频的文章就介绍到这了,更多相关C# OpenCvSharp4读取视频内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

最新评论