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实现的udp协议Server和Client代码实例
Jun 04 Python
Python中的下划线详解
Jun 24 Python
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
Oct 13 Python
Python内置数据结构与操作符的练习题集锦
Jul 01 Python
python脚本替换指定行实现步骤
Jul 11 Python
详解用Python处理HTML转义字符的5种方式
Dec 27 Python
python OpenCV学习笔记实现二维直方图
Feb 08 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
Apr 18 Python
pyqt5 实现在别的窗口弹出进度条
Jun 18 Python
Python-openCV读RGB通道图实例
Jan 17 Python
Python selenium模块实现定位过程解析
Jul 09 Python
如何利用pygame实现打飞机小游戏
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
十天学会php(2)
2006/10/09 PHP
在PHP中养成7个面向对象的好习惯
2010/01/28 PHP
php中判断数组是一维,二维,还是多维的解决方法
2013/05/04 PHP
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
Laravel 5 框架入门(四)完结篇
2015/04/09 PHP
PHP错误Warning:mysql_query()解决方法
2015/10/24 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
2017/05/17 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
jQuery获取文本节点之 text()/val()/html() 方法区别
2011/03/01 Javascript
jQuery EasyUI API 中文文档 - Documentation 文档
2011/09/29 Javascript
用javascript关闭本窗口技巧小结
2014/09/05 Javascript
JQuery遍历json数组的3种方法
2014/11/08 Javascript
JavaScript判断变量是否为数组的方法(Array)
2016/02/24 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
2016/06/24 Javascript
Javascript 基础---Ajax入门必看
2016/07/06 Javascript
Vue.js第四天学习笔记(组件)
2016/12/02 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
2020/12/31 Javascript
ng-alain表单使用方式详解
2018/07/10 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
Python2.x中文乱码问题解决方法
2015/06/02 Python
用python一行代码得到数组中某个元素的个数方法
2019/01/28 Python
Flask框架模板继承实现方法分析
2019/07/31 Python
Python Django中间件使用原理及流程分析
2020/06/13 Python
Python map及filter函数使用方法解析
2020/08/06 Python
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
Oracle性能调优原则
2012/05/03 面试题
村委会贫困证明
2014/01/14 职场文书
高中物理教学反思
2014/02/08 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
2014年大学庆元旦迎新年活动方案
2014/03/09 职场文书
2015年“7.11”世界人口日宣传活动方案
2015/05/06 职场文书
2016党员学习心得体会范文
2016/01/23 职场文书
幼儿园大班教学反思
2016/03/02 职场文书
教你利用Selenium+python自动化来解决pip使用异常
2021/05/20 Python
MySQL 存储过程的优缺点分析
2021/05/20 MySQL