OpenCV2从摄像头获取帧并写入视频文件的方法


Posted in Python onAugust 03, 2018

一段基于OpenCV2的代码。

作用是从摄像头获取帧并将帧写入指定的视频文件中。

需要注意的是,视频文件所在的路径需要存在,例如D:/images/1.avi。images这个目录需要存在。调用VideoWrite类对象的成员函数open时,编解码方式参数设置为-1,代码运行时会弹出对话框,手动选择编解码方式。

#include<opencv2\highgui\highgui.hpp>
#include<opencv2\imgproc\imgproc.hpp>
#include<opencv2\core\core.hpp>

int main()
{
 //打开摄像头
 cv::VideoCapture captrue(0);
 //视频写入对象
 cv::VideoWriter write;
 //写入视频文件名
 std::string outFlie = "D:/1.avi";
 //获得帧的宽高
 int w = static_cast<int>(captrue.get(CV_CAP_PROP_FRAME_WIDTH));
 int h = static_cast<int>(captrue.get(CV_CAP_PROP_FRAME_HEIGHT));
 cv::Size S(w, h);
 //获得帧率
 double r = captrue.get(CV_CAP_PROP_FPS);
 //打开视频文件,准备写入
 write.open(outFlie, -1, r, S, true);

 //打开失败
 if (!captrue.isOpened())
 {
  return 1;
 }
 bool stop = false;
 cv::Mat frame;
 //循环
 while (!stop)
 {
  //读取帧
  if (!captrue.read(frame))
   break;
  cv::imshow("Video", frame);
  //写入文件
  write.write(frame);
  if (cv::waitKey(10) > 0)
  {
   stop = true;
  }
 }
 //释放对象
 captrue.release();
 write.release();
}

以上这篇OpenCV2从摄像头获取帧并写入视频文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用Python编写脚本使IE实现代理上网的教程
Apr 23 Python
Python环境下安装使用异步任务队列包Celery的基础教程
May 07 Python
Python实现基于二叉树存储结构的堆排序算法示例
Dec 08 Python
python matplotlib 注释文本箭头简单代码示例
Jan 08 Python
Python 函数基础知识汇总
Mar 09 Python
python组合无重复三位数的实例
Nov 13 Python
python爬虫 模拟登录人人网过程解析
Jul 31 Python
如何在VSCode上轻松舒适的配置Python的方法步骤
Oct 28 Python
详解python中groupby函数通俗易懂
May 14 Python
Python 判断时间是否在时间区间内的实例
May 16 Python
python3+PyQt5+Qt Designer实现界面可视化
Jun 10 Python
python之基数排序的实现
Jul 26 Python
python中copy()与deepcopy()的区别小结
Aug 03 #Python
Python爬取个人微信朋友信息操作示例
Aug 03 #Python
python opencv人脸检测提取及保存方法
Aug 03 #Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
Aug 03 #Python
OpenCV+python手势识别框架和实例讲解
Aug 03 #Python
Windows下将Python文件打包成.EXE可执行文件的方法
Aug 03 #Python
Python测试网络连通性示例【基于ping】
Aug 03 #Python
You might like
codeigniter中测试通过的分页类示例
2014/04/17 PHP
一个经典的PHP文件上传类分享
2014/11/18 PHP
Symfony2开发之控制器用法实例分析
2016/02/05 PHP
php7新特性的理解和比较总结
2019/04/14 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
用js正确判断用户名cookie是否存在的方法
2014/01/28 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
2015/01/07 Javascript
angularjs客户端实现压缩图片文件并上传实例
2015/07/06 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
JS打开摄像头并截图上传示例
2017/02/18 Javascript
原生JS上传大文件显示进度条 php上传文件代码
2020/03/27 Javascript
使用Vue.js和Flask来构建一个单页的App的示例
2018/03/21 Javascript
ztree加载完成后显示勾选节点的实现代码
2018/10/22 Javascript
Node.js 路由的实现方法
2019/06/05 Javascript
[02:26]2018DOTA2亚洲邀请赛赛前采访-Newbee篇
2018/04/03 DOTA
python读写文件操作示例程序
2013/12/02 Python
Python中apply函数的用法实例教程
2014/07/31 Python
python设计模式大全
2016/06/27 Python
Python的地形三维可视化Matplotlib和gdal使用实例
2017/12/09 Python
Python 实现两个列表里元素对应相乘的方法
2018/11/14 Python
想学python 这5本书籍你必看!
2018/12/11 Python
python树的同构学习笔记
2019/09/14 Python
Python基本类型的连接组合和互相转换方式(13种)
2019/12/16 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
2019/12/26 Python
python和php哪个容易学
2020/06/19 Python
基于Python的接口自动化读写excel文件的方法
2021/01/15 Python
Yahoo-PHP面试题1
2016/07/20 面试题
品恩科技软件测试面试题
2014/10/26 面试题
军训口号
2014/06/13 职场文书
小学生五年级大队长竞选发言稿
2014/09/12 职场文书
街道社区活动报告
2015/02/05 职场文书
美术教师个人总结
2015/02/06 职场文书
培训计划通知
2015/07/15 职场文书
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python