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可跨平台实现获取按键的方法
Mar 05 Python
详解Python中break语句的用法
May 14 Python
Python 迭代器工具包【推荐】
May 06 Python
使用pyecharts在jupyter notebook上绘图
Apr 23 Python
python实现简单聊天应用 python群聊和点对点均实现
Sep 14 Python
使用Python的toolz库开始函数式编程的方法
Nov 15 Python
python使用pymongo操作mongo的完整步骤
Apr 13 Python
python绘制封闭多边形教程
Feb 18 Python
Python虚拟环境的创建和包下载过程分析
Jun 19 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
Aug 07 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
Oct 15 Python
Python学习工具jupyter notebook安装及用法解析
Oct 23 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
Protoss兵种介绍
2020/03/14 星际争霸
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
PHP将字符串首字母大小写转换的实例
2017/01/21 PHP
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
jquery validate使用攻略 第四步
2010/07/01 Javascript
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
javascript 文本框水印/占位符(watermark/placeholder)实现方法
2012/01/15 Javascript
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
使用JQuery实现Ctrl+Enter提交表单的方法
2015/10/22 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
js微信扫描二维码登录网站技术原理
2016/12/01 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
AngularJS表格添加序号的方法
2017/03/03 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
微信小程序媒体组件详解(视频,音乐,图片)
2017/09/19 Javascript
Vue仿今日头条实例详解
2018/02/06 Javascript
Vue SSR 组件加载问题
2018/05/02 Javascript
vue-cli 2.*中导入公共less文件的方法步骤
2018/11/22 Javascript
JavaScript继承与聚合实例详解
2019/01/22 Javascript
关于Node.js中频繁修改代码重启服务器的问题
2020/10/15 Javascript
使用Python3编写抓取网页和只抓网页图片的脚本
2015/08/20 Python
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
2017/03/19 Python
python使用fork实现守护进程的方法
2017/11/16 Python
Python设计模式之外观模式实例详解
2019/01/17 Python
python中urllib.request和requests的使用及区别详解
2020/05/05 Python
某IT外企面试题-二分法求方程!看看大家的C++功底
2015/07/04 面试题
建筑班组长岗位职责
2014/01/02 职场文书
《小石潭记》教学反思
2014/02/13 职场文书
运动员口号
2014/06/09 职场文书
管理人员岗位职责
2015/02/14 职场文书
2016年情人节广告语
2016/01/28 职场文书
深入解析NumPy中的Broadcasting广播机制
2021/05/30 Python
JavaScript实现队列结构过程
2021/12/06 Javascript
pandas进行数据输入和输出的方法详解
2022/03/23 Python
Python+Tkinter打造签名设计工具
2022/04/01 Python