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遍历C盘dll文件的方法
May 06 Python
Python使用sort和class实现的多级排序功能示例
Aug 15 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
Dec 11 Python
对python实现二维函数高次拟合的示例详解
Dec 29 Python
利用python脚本如何简化jar操作命令
Feb 24 Python
详解python中自定义超时异常的几种方法
Jul 29 Python
Python算法中的时间复杂度问题
Nov 19 Python
python飞机大战pygame游戏框架搭建操作详解
Dec 17 Python
Python实现队列的方法示例小结【数组,链表】
Feb 22 Python
python目标检测给图画框,bbox画到图上并保存案例
Mar 10 Python
tensorflow pb to tflite 精度下降详解
May 25 Python
如何在pycharm中安装第三方包
Oct 27 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
用mysql_fetch_array()获取当前行数据的方法详解
2013/06/05 PHP
php strrpos()与strripos()函数
2013/08/31 PHP
PHP的preg_match匹配字符串长度问题解决方法
2014/05/03 PHP
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
PHP实现统计所有字符在字符串中出现次数的方法
2017/10/17 PHP
PHP校验15位和18位身份证号的类封装
2018/11/07 PHP
jQuery实现列表自动循环滚动鼠标悬停时停止滚动
2013/09/06 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
javascript轻量级模板引擎juicer使用指南
2014/06/22 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
JavaScript中Number.MAX_VALUE属性的使用方法
2015/06/04 Javascript
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
在JS循环中使用async/await的方法
2018/10/12 Javascript
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
javascript实现左右缓动动画函数
2020/11/25 Javascript
Python中使用第三方库xlrd来读取Excel示例
2015/04/05 Python
详解Python中DOM方法的动态性
2015/04/11 Python
python基础教程之匿名函数lambda
2017/01/17 Python
Python变量赋值的秘密分享
2018/04/03 Python
python使用turtle绘制国际象棋棋盘
2019/05/23 Python
Python实现最大子序和的方法示例
2019/07/05 Python
iPython pylab模式启动方式
2020/04/24 Python
python 实现任务管理清单案例
2020/04/25 Python
Python实现读取并写入Excel文件过程解析
2020/05/27 Python
html5 canvas-2.用canvas制作一个猜字母的小游戏
2013/01/07 HTML / CSS
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
大学生职业生涯规划范文——找准自我,定位人生
2014/01/23 职场文书
2014年酒店工作总结与计划
2014/11/17 职场文书
2014年幼儿园教学工作总结
2014/12/04 职场文书
自我评价优缺点范文
2015/03/11 职场文书
七年级作文之环保作文
2019/10/17 职场文书
Vue详细的入门笔记
2021/05/10 Vue.js
使用react-virtualized实现图片动态高度长列表的问题
2021/05/28 Javascript
python cv2图像质量压缩的算法示例
2021/06/04 Python
Python OpenCV 图像平移的实现示例
2021/06/04 Python
Springboot如何同时装配两个相同类型数据库
2021/11/17 Java/Android