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服务器进行监控的教程
Apr 02 Python
分析Python的Django框架的运行方式及处理流程
Apr 08 Python
Pyhthon中使用compileall模块编译源文件为pyc文件
Apr 28 Python
在Python下进行UDP网络编程的教程
Apr 29 Python
Python实现PS滤镜特效之扇形变换效果示例
Jan 26 Python
TensorFlow实现非线性支持向量机的实现方法
Apr 28 Python
Python3读取Excel数据存入MySQL的方法
May 04 Python
详解python异步编程之asyncio(百万并发)
Jul 07 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
Jan 29 Python
Python3安装pip工具的详细步骤
Oct 14 Python
pytorch中index_select()的用法详解
Jan 06 Python
python如何为list实现find方法
May 30 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
东方红 - 来复式再生机的修复
2021/03/02 无线电
一个多文件上传的例子(原创)
2006/10/09 PHP
如何利用php+mysql保存和输出文件
2006/10/09 PHP
php简单提示框alert封装函数
2010/08/08 PHP
PHP项目开发中最常用的自定义函数整理
2010/12/02 PHP
Session保存到数据库的php类分享
2011/10/24 PHP
PHP中函数rand和mt_rand的区别比较
2012/12/26 PHP
PHP清除字符串中所有无用标签的方法
2014/12/01 PHP
php关键字仅替换一次的实现函数
2015/10/29 PHP
php下载远程大文件(获取远程文件大小)的实例
2017/06/17 PHP
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
JavaScript初学者应注意的七个细节小结
2012/01/30 Javascript
使用GruntJS链接与压缩多个JavaScript文件过程详解
2013/08/02 Javascript
jQuery UI设置固定日期选择特效代码分享
2015/08/27 Javascript
jQuery查找节点方法完整实例
2016/09/13 Javascript
js创建对象几种方式的优缺点对比
2016/09/28 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
2017/04/13 Javascript
利用angular、react和vue实现相同的面试题组件
2018/02/19 Javascript
VUE Error: getaddrinfo ENOTFOUND localhost
2018/05/03 Javascript
Python实现CET查分的方法
2015/03/10 Python
python结合selenium获取XX省交通违章数据的实现思路及代码
2016/06/26 Python
利用Python将文本中的中英文分离方法
2018/10/31 Python
numpy 计算两个数组重复程度的方法
2018/11/07 Python
python3 pygame实现接小球游戏
2019/05/14 Python
python绘制地震散点图
2019/06/18 Python
基于django ManyToMany 使用的注意事项详解
2019/08/09 Python
Python安装与卸载流程详细步骤(图解)
2020/02/20 Python
Python计算IV值的示例讲解
2020/02/28 Python
CSS3 3D酷炫立方体变换动画的实现
2019/03/26 HTML / CSS
解决html5中的video标签ios系统中无法播放使用的问题
2020/08/10 HTML / CSS
美国派对用品及装饰品网上商店:Shindigz
2016/07/30 全球购物
2014年妇幼卫生工作总结
2014/12/09 职场文书
党支部承诺书
2015/01/20 职场文书
监察建议书
2015/02/04 职场文书
2015年乡镇工作总结范文
2015/04/22 职场文书
结婚典礼主持词
2015/06/29 职场文书