page contents

C#+EmguCV使用摄像头读取、保存视频

本文讲述了C#+EmguCV使用摄像头读取、保存视频!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

attachments-2022-07-w1pCrQ2q62bfa2f81c37e.png

本文讲述了C#+EmguCV使用摄像头读取、保存视频!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

在Emgucv中调用摄像头需要用到VideoCapture类

这个类有四种重载的方式

1、不写参数,那么初始化的时候就会调用默认的摄像头

2、一个int类型的数字,这个数字的含义是摄像头的索引。会按照索引来初始化摄像头

3、一个字符串,这个字符串的含义是文件名或视频流名。初始化会读取视频文件或视频流

4、CaptureType 的枚举

这个枚举的内容很多,这里不再赘述

新建一个控制台应用程序来实现视频的读取和保存,代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class Program
    {
        static void Main(string[] args)
        {
            show();
        }
  
        private static void show()
        {
            //VideoCapture cap = new VideoCapture("AVSEQ02.avi");
            //VideoCapture cap = new VideoCapture(CaptureType.Any);
            VideoCapture cap = new VideoCapture();
            VideoWriter writer = new VideoWriter("save.avi", 20, new Size(640, 480), true);
            if (!cap.IsOpened)
            {
                Console.WriteLine("打开失败");
                return;
            }
            Mat mat = new Mat();
            while (true)
            {
                cap.Read(mat);
                if (mat.IsEmpty)
                {
                    Console.WriteLine("读取完毕");
                    break;
                }
                CvInvoke.Imshow("video", mat);
                writer.Write(mat);
                CvInvoke.WaitKey(30);
            }
            CvInvoke.WaitKey(0);
  
        }
    }

这里用VideoCapture 的Read()方法来读取视频的每一帧。保存在Mat这个对象中。并 CvInvoke.Imshow()出来。然后用VideoWriter的Write方法,把每一帧的图像保存成视频。

这里需要注意的地方是:在循环中需要停留30毫秒,否则视频显示不出来。 CvInvoke.WaitKey(30);

运行程序后,可以看到,摄像头读取的视频已经保存了下来

以上就是本文的全部内容,希望对大家的学习有所帮助。更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2022-07-02 09:44
  • 阅读 ( 835 )
  • 分类:C/C++开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1470 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章