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实现从字符串中找出字符1的位置以及个数的方法
Aug 25 Python
Python内置函数Type()函数一个有趣的用法
Feb 18 Python
浅谈Python 对象内存占用
Jul 15 Python
django解决跨域请求的问题
Nov 11 Python
对Python实现简单的API接口实例讲解
Dec 10 Python
Python基于滑动平均思想实现缺失数据填充的方法
Feb 21 Python
python使用PyQt5的简单方法
Feb 27 Python
python处理“
Jun 10 Python
pyQT5 实现窗体之间传值的示例
Jun 20 Python
使用python实现哈希表、字典、集合操作
Dec 22 Python
Windows下Anaconda安装、换源与更新的方法
Apr 17 Python
python上下文管理的使用场景实例讲解
Mar 03 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 Memcache 中实现消息队列
2009/11/24 PHP
排序算法之PHP版快速排序、冒泡排序
2014/04/09 PHP
PHP实现数字补零功能的2个函数介绍
2014/05/12 PHP
PHP实现多维数组转字符串和多维数组转一维数组的方法
2015/08/08 PHP
PHP实现批量上传单个文件
2015/12/29 PHP
必须收藏的23个php实用代码片段
2016/02/02 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
2017/02/28 PHP
PHP经典设计模式之依赖注入定义与用法详解
2019/05/21 PHP
JavaScript字符串对象substr方法入门实例(用于截取字符串)
2014/10/16 Javascript
jQuery实现DIV层收缩展开的方法
2015/02/27 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形菜单
2015/11/30 Javascript
js代码实现点击按钮出现60秒倒计时
2021/01/28 Javascript
详解Bootstrap创建表单的三种格式(一)
2016/01/04 Javascript
AngularJS之页面跳转Route实例代码
2017/03/10 Javascript
vue中七牛插件使用的实例代码
2017/07/28 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
Vue router安装及使用方法解析
2020/12/02 Vue.js
Python科学计算之Pandas详解
2017/01/15 Python
对Python中DataFrame按照行遍历的方法
2018/04/08 Python
Python列表解析配合if else的方法
2018/06/23 Python
python 实现识别图片上的数字
2019/07/30 Python
Python Pandas 转换unix时间戳方式
2019/12/07 Python
python基于TCP实现的文件下载器功能案例
2019/12/10 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
2020/06/08 Python
python中_del_还原数据的方法
2020/12/09 Python
澳大利亚家具和家居用品在线商店:Interiors Online
2018/03/05 全球购物
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
bonprix荷兰网上商店:便宜的服装、鞋子和家居用品
2020/07/04 全球购物
《花的勇气》教后反思
2014/02/12 职场文书
技校学生个人职业生涯规划范文
2014/03/03 职场文书
建筑投标担保书
2014/05/20 职场文书
党支部组织生活会整改方案
2014/09/30 职场文书
2015最新学生自我评价范文
2015/03/03 职场文书
新学期开学标语2015
2015/07/16 职场文书