C#+EmguCV使用摄像头读取、保存视频
作者:任玉腾 时间:2023-01-25 12:20:37
本文实例为大家分享了C#+EmguCV使用摄像头读取、保存视频的具体代码,供大家参考,具体内容如下
在Emgucv中调用摄像头需要用到VideoCapture类
这个类有四种重载的方式
1、不写参数,那么初始化的时候就会调用默认的摄像头
2、一个int类型的数字,这个数字的含义是摄像头的索引。会按照索引来初始化摄像头
3、一个字符串,这个字符串的含义是文件名或视频流名。初始化会读取视频文件或视频流
4、CaptureType 的枚举
这个枚举的内容很多,这里不再赘述
新建一个控制台应用程序来实现视频的读取和保存,代码如下
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);
运行程序后,可以看到,摄像头读取的视频已经保存了下来
来源:https://blog.csdn.net/qq_34090937/article/details/84448820
标签:C#,EmguCV,摄像头
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
WinForm中KeyDown,KeyPress和KeyUp的顺序与区别解析
2023-06-30 22:34:36
Java 实战练手项目之校园超市管理系统的实现流程
2023-07-09 08:46:55
![](https://img.aspxhome.com/file/2023/1/104011_0s.png)
java实现图片反色处理示例
2022-07-09 20:53:34
![](https://img.aspxhome.com/file/2023/6/110926_0s.jpg)
关于spring boot中几种注入方法的一些个人看法
2022-09-07 10:15:14
Kotlin与java8的SAM转换对比(进阶)
2023-05-15 11:50:35
![](https://img.aspxhome.com/file/2023/0/75700_0s.png)
android编程实现对话框的封装实例
2022-02-12 12:58:54
C语言一级指针二级指针和三级指针区别及使用详解
2022-10-21 03:29:34
![](https://img.aspxhome.com/file/2023/2/120802_0s.png)
Java中一个线程执行死循环有什么后果
2022-05-24 00:28:35
Java生产者消费者模式实例分析
2023-12-13 02:12:59
![](https://img.aspxhome.com/file/2023/5/92635_0s.jpg)
C#中string.format用法详解
2023-07-12 21:25:48
c# 遍历 Dictionary的四种方式
2023-04-17 13:11:10
![](https://img.aspxhome.com/file/2023/5/102205_0s.png)
SpringMVC用JsonSerialize日期转换方法
2021-12-06 10:59:59
![](https://img.aspxhome.com/file/2023/2/70332_0s.jpg)
Java零基础教程之Windows下安装 JDK的方法图解
2023-10-18 09:54:55
![](https://img.aspxhome.com/file/2023/7/110927_0s.jpg)
Springboot Vue实现单点登陆功能示例详解
2023-11-05 00:29:11
![](https://img.aspxhome.com/file/2023/7/58877_0s.png)
Java的可变参数与Collections类的功能示例解析
2022-03-05 18:45:47
C#中类的使用教程详解
2023-06-12 05:42:42
C#加密在实际中的应用
2022-05-11 14:57:21
![](https://img.aspxhome.com/file/2023/2/70432_0s.jpg)
C#将配置文件appsetting中的值转换为动态对象调用
2023-11-28 01:29:53
C# 关于LoadLibrary的疑问详解
2023-07-26 23:14:10
spring整合redis缓存并以注解(@Cacheable、@CachePut、@CacheEvict)形式使用
2022-04-25 01:46:14