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 爬虫的工具列表大全
Jan 31 Python
python模块之sys模块和序列化模块(实例讲解)
Sep 13 Python
Python线程创建和终止实例代码
Jan 20 Python
Python with语句上下文管理器两种实现方法分析
Feb 09 Python
Python 解决中文写入Excel时抛异常的问题
May 03 Python
python实现linux下抓包并存库功能
Jul 18 Python
python实现傅里叶级数展开的实现
Jul 21 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
Feb 13 Python
opencv与numpy的图像基本操作
Mar 08 Python
Python使用tkinter模块实现推箱子游戏
Oct 08 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
Nov 11 Python
Python:二维列表下标互换方式(矩阵转置)
Dec 02 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模拟asp中的XmlHttpRequest实现http请求的代码
2011/03/24 PHP
解析PHP实现下载文件的两种方法
2013/07/05 PHP
一个简单的PHP验证码实现代码
2014/05/10 PHP
PHP实现生成带背景的图形验证码功能
2016/10/03 PHP
javascript 用原型继承来实现对象系统
2010/03/22 Javascript
jquery 插件学习(三)
2012/08/06 Javascript
js 输出内容到新窗口具体实现代码
2013/05/31 Javascript
BAT及各大互联网公司2014前端笔试面试题--JavaScript篇
2014/10/29 Javascript
javascript操作Cookie(设置、读取、删除)方法详解
2015/03/18 Javascript
详细解读JavaScript编程中的Promise使用
2015/07/27 Javascript
jQuery 限制输入字符串长度
2016/06/20 Javascript
基于jQuery实现表格的查看修改删除
2016/08/01 Javascript
AngularJS 实现JavaScript 动画效果详解
2016/09/08 Javascript
将form表单通过ajax实现无刷新提交的简单实例
2016/10/12 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
基于Vue制作组织架构树组件
2017/12/06 Javascript
微信小程序实现折叠面板
2018/01/31 Javascript
React路由管理之React Router总结
2018/05/10 Javascript
详解Vue3 Composition API中的提取和重用逻辑
2020/04/29 Javascript
JavaScript实现跟随鼠标移动的盒子
2021/01/28 Javascript
selenium+python实现1688网站验证码图片的截取功能
2018/08/14 Python
Python无损压缩图片的示例代码
2020/08/06 Python
利用Python实现自动扫雷小脚本
2020/12/17 Python
前端canvas动画如何转成mp4视频的方法
2019/06/17 HTML / CSS
香港时装购物网站:ZALORA香港
2017/04/23 全球购物
Marmot土拨鼠官网:美国专业户外运动品牌
2018/01/11 全球购物
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
北承题目(C++)
2012/05/16 面试题
成都思必达公司C#程序员招聘面试题
2013/06/26 面试题
英文翻译的自我评价语句
2013/10/04 职场文书
校园达人秀策划书
2014/01/12 职场文书
家长建议怎么写
2014/05/15 职场文书
学校党的群众路线教育实践活动总结报告
2014/07/03 职场文书
博士给导师的自荐信
2015/03/06 职场文书
大学团日活动总结书
2015/05/11 职场文书