OpenCV2从摄像头获取帧并写入视频文件的方法

yipeiwu_com5年前Python基础

一段基于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中的魔法方法深入理解

接触Python也有一段时间了,Python相关的框架和模块也接触了不少,希望把自己接触到的自己 觉得比较好的设计和实现分享给大家,于是取了一个“Charming Python”的小标,...

详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决

详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决

python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'的解决方法: 1.原因是官网的是python2语法写的...

python3.6+opencv3.4实现鼠标交互查看图片像素

python3.6+opencv3.4实现鼠标交互查看图片像素

在利用opencv进行图片处理时,经常需要查看图片关心区域或位置的像素数值,苦于没有应手的小软件,我用python3.6+opencv3.4简单编制一个小工具,供大家使用。 流程 1...

wxPython的安装图文教程(Windows)

wxPython的安装图文教程(Windows)

一、wxPython介绍 1、wxPython是Python语言的一套优秀的GUI图形库。wxPython可以很方便的创建完整的、功能键全的GUI用户界面。 wxPython是作为优秀的...

Python3实现的回文数判断及罗马数字转整数算法示例

本文实例讲述了Python3实现的回文数判断及罗马数字转整数算法。分享给大家供大家参考,具体如下: 回文数 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一...