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实现Logger打印功能的方法详解
Sep 01 Python
python使用xslt提取网页数据的方法
Feb 23 Python
Python用csv写入文件_消除空余行的方法
Jul 06 Python
Python使用pymongo模块操作MongoDB的方法示例
Jul 20 Python
Python中创建二维数组
Oct 17 Python
python3 中文乱码与默认编码格式设定方法
Oct 31 Python
在Pycharm中对代码进行注释和缩进的方法详解
Jan 20 Python
python中PS 图像调整算法原理之亮度调整
Jun 28 Python
python实现日志按天分割
Jul 22 Python
python中with语句结合上下文管理器操作详解
Dec 19 Python
torch 中各种图像格式转换的实现方法
Dec 26 Python
详解Python Celery和RabbitMQ实战教程
Jan 20 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
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
SMARTY学习手记
2007/01/04 PHP
用PHP书写安全的脚本代码
2012/02/05 PHP
Zend studio文件注释模板设置方法
2013/09/29 PHP
PHP关联数组实现根据元素值删除元素的方法
2015/06/26 PHP
纯php生成随机密码
2015/10/30 PHP
web前端设计师们常用的jQuery特效插件汇总
2014/12/07 Javascript
jQuery实现表格行上下移动和置顶效果
2015/06/05 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
Boostrap入门准备之border box
2016/05/09 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
详解Vue 动态添加模板的几种方法
2017/04/25 Javascript
react-native-fs实现文件下载、文本存储的示例代码
2017/09/22 Javascript
js中url对象化管理分析
2017/12/29 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
2020/07/14 Javascript
ES2020系列之空值合并运算符 '??'
2020/07/22 Javascript
Python批量转换文件编码格式
2015/05/17 Python
深入解析Python中的urllib2模块
2015/11/13 Python
python迭代器与生成器详解
2016/03/10 Python
python文本数据相似度的度量
2018/03/12 Python
django+echart绘制曲线图的方法示例
2018/11/26 Python
python 利用文件锁单例执行脚本的方法
2019/02/19 Python
详解python 爬取12306验证码
2019/05/10 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
Python 生成短8位唯一id实战教程
2021/01/13 Python
python如何发送带有附件、正文为HTML的邮件
2021/02/27 Python
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
Big Green Smile德国网上商店:提供各种天然产品
2018/05/23 全球购物
The Hut英国:英国领先的豪华在线百货商店
2019/07/26 全球购物
英国排名第一的宠物店:PetPlanet
2020/02/02 全球购物
专科毕业生自我鉴定
2013/12/01 职场文书
关于工资低的辞职信
2014/01/14 职场文书
平面设计求职信
2014/03/10 职场文书
军训拉歌口号
2014/06/13 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
2016教师学习党章心得体会
2016/01/15 职场文书