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在linux系统下获取系统内存使用情况的方法
May 11 Python
Python写入CSV文件的方法
Jul 08 Python
Python实现自定义函数的5种常见形式分析
Jun 16 Python
tensorflow: variable的值与variable.read_value()的值区别详解
Jul 30 Python
关于Keras Dense层整理
May 21 Python
Python Socket TCP双端聊天功能实现过程详解
Jun 15 Python
Python 如何调试程序崩溃错误
Aug 03 Python
详解Python yaml模块
Sep 23 Python
Python根据字符串调用函数过程解析
Nov 05 Python
selenium自动化测试入门实战
Dec 21 Python
Scrapy+Selenium自动获取cookie爬取网易云音乐个人喜爱歌单
Feb 01 Python
OpenCV3.3+Python3.6实现图片高斯模糊
May 18 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
PHP 图片文件上传实现代码
2010/12/29 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
javascript call和apply方法
2008/11/24 Javascript
javascript 显示当前系统时间代码
2009/12/28 Javascript
javascript 折半查找字符在数组中的位置(有序列表)
2010/12/09 Javascript
css结合js制作下拉菜单示例代码
2014/02/27 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
浅谈JavaScript中定义变量时有无var声明的区别
2014/08/18 Javascript
jQuery网页版打砖块小游戏源码分享
2015/08/20 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
vue.js 获取select中的value实例
2018/03/01 Javascript
vue计算属性和监听器实例解析
2018/05/10 Javascript
vue动画之点击按钮往上渐渐显示出来的实例
2018/09/29 Javascript
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
vue项目引入ts步骤(小结)
2019/10/31 Javascript
学习python (1)
2006/10/31 Python
python中的一些类型转换函数小结
2013/02/10 Python
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
2015/03/30 Python
在Docker上开始部署Python应用的教程
2015/04/17 Python
举例讲解Python设计模式编程中对抽象工厂模式的运用
2016/03/02 Python
分享一下如何编写高效且优雅的 Python 代码
2017/09/07 Python
selenium如何定位span元素的实现
2021/01/13 Python
Html5页面二次分享的实现
2018/07/30 HTML / CSS
伦敦剧院门票:London Theatre Direct
2018/11/21 全球购物
描述内存分配方式以及它们的区别
2016/10/15 面试题
后勤采购员岗位职责
2013/12/19 职场文书
幼儿园教师考核制度
2014/02/01 职场文书
小学领导班子对照材料
2014/08/23 职场文书
清明祭英烈活动总结
2015/05/11 职场文书
英语导游欢迎词
2015/09/30 职场文书
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server