我是靠谱客的博主 安静金毛,这篇文章主要介绍OpenCv利用摄像头获取数据,并保存视频文件,现在分享给大家,希望可以做个参考。

基于OpenCv4.1.0,VS2015

1、判断摄像头是否能够调用成功

2、判断读取图像是否成功

3、创建保存视频文件的视频流

4、判断视频流是否创建成功

5、将图像写入视频流

6、给定视频保存的中止条件(本题按esc键)

复制代码
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <opencv2opencv.hpp> #include <iostream> using namespace std; using namespace cv; int main() { Mat img; VideoCapture video(0); if (!video.isOpened()) //判断是否调用成功 { cout << "打开摄像头失败,请确认摄像头是否安装成功"; return -1; } video >> img;//获取图像 if (img.empty()) //判断读取图像是否成功 { cout << "没有获取到图像" << endl; return -1; } bool isColor = (img.type() == CV_8UC3); VideoWriter writer; int codec = VideoWriter::fourcc('M', 'J', 'P', 'G');//选择编码格式 double fps = 25.0;//设置视频帧率 string filename = "live.avi"; writer.open(filename, codec, fps, img.size(), isColor);//创建保存视频文件的视频流 if (!writer.isOpened())//判断视频流是否创建成功 { cout << "打开视频文件失败,请确认是否为合法输入" << endl; return -1; } while (true) { //检测是否执行完毕 if (!video.read(img)) { cout << "摄像头断开连接或者视频读取完成" << endl; break; } writer.write(img);//把图像写入视频流 imshow("live", img);//显示图像 char c = waitKey(50); if (c==27)//按esc键退出视频保存 { break; } } }

最后

以上就是安静金毛最近收集整理的关于OpenCv利用摄像头获取数据,并保存视频文件的全部内容,更多相关OpenCv利用摄像头获取数据内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部