OpenCV2从摄像头获取帧并写入视频文件的方法
一段基于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从摄像头获取帧并写入视频文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Opencv实现读取摄像头和视频数据
实际上,按一定速度读取摄像头视频图像后,便可以对图像进行各种处理了. 那么获取主要用到的是VideoCapture类,一个demo如下: //如果有外接摄像头,则ID为0,内置为1,否则用0就可以表示内置摄像头 cv::VideoCapture cap(0); //判断摄像头是否打开 if(!cap.isOpened()) { return -1; } cv::Mat myframe; cv::Mat edges; bool stop = false; while(!stop) { //获取当前
-
OpenCV实现简单摄像头视频监控程序
如何在冗长的监控录像中找到关键点?我们知道,监控录像中大部分信息都是没用的,那些信息就等同于一幅静态图像.我们要等待监控的范围内出现异常情况时再跟踪. 这其实是一个最简单的计算机图像处理程序.简单的思路是这样的:首先给摄像头取景采样,当背景稳定时,以该图片作为基准图片.然后在监控过程中,若出现了和基准图片反差较大的视频帧,那么启动捕捉程序,并标出异常区域. 程序如下: #include <cv.h> #include <time.h> #include <stdio.h>
-
python+opencv打开摄像头,保存视频、拍照功能的实现方法
以下代码是保存视频 # coding:utf-8 import cv2 import sys reload(sys) sys.setdefaultencoding('utf8') cap = cv2.VideoCapture(0) cap.set(3,640) cap.set(4,480) cap.set(1, 10.0) #此处fourcc的在MAC上有效,如果视频保存为空,那么可以改一下这个参数试试, 也可以是-1 fourcc = cv2.cv.CV_FOURCC('m', 'p', '4
-
Python+OpenCV采集本地摄像头的视频
本文实现了用Python和OpenCV配合,调用本地摄像头采集视频,基本上函数的话看opencv的官方文档就Ok了(The OpenCV Reference Manual Release 2.4.7.0) 上代码: import cv2 import cv2.cv def getCam(): window_name='show image' cv2.namedWindow(window_name,cv2.WINDOW_NORMAL) video_cap_obj=cv2.VideoCapture
-
Python+OpenCV+pyQt5录制双目摄像头视频的实例
起因 说起来录制视频,我们可能有很多的软件,但是比较坑的是,好像很少的软件支持能够同时录制两个摄像头的视频,于是我们用python自己写一个.要是OpenCV+python.貌似很简单就能OK的事情,但是,我们的项目不是一般要展示给老师看嘛.谁愿意看一个没有界面的录制过程是吧~,最后会附上源代码~ 依赖的包 在这里,我直接把import的包写出来了各位可以进行对号入座,然后就能知道需要安装哪个包啦! import cv2 import numpy as np from PyQt5.QtWidge
-
OpenCV2从摄像头获取帧并写入视频文件的方法
一段基于OpenCV2的代码. 作用是从摄像头获取帧并将帧写入指定的视频文件中. 需要注意的是,视频文件所在的路径需要存在,例如D:/images/1.avi.images这个目录需要存在.调用VideoWrite类对象的成员函数open时,编解码方式参数设置为-1,代码运行时会弹出对话框,手动选择编解码方式. #include<opencv2\highgui\highgui.hpp> #include<opencv2\imgproc\imgproc.hpp> #include&l
-
Android获取本机各种类型文件的方法
介绍 本篇介绍Android获取本机各种类型文件的方法,已经封装成工具类,末尾有源码下载地址. 提示 获取音乐.视频.图片.文档等文件是需要有读取SD卡的权限的,如果是6.0以下的系统,则直接在清单文件中声明SD卡读取权限即可:如果是6.0或以上,则需要动态申请权限. FileManager的使用 FileManager是封装好的用于获取本机各类文件的工具类,使用方式如:FileManager.getInstance(Context context).getMusics(),使用的是单例模式创建
-
Python写入CSV文件的方法
本文实例讲述了Python写入CSV文件的方法.分享给大家供大家参考.具体如下: # _*_ coding:utf-8 _*_ #xiaohei.python.seo.call.me:) #win+python2.7.x import csv csvfile = file('csvtest.csv', 'wb') writer = csv.writer(csvfile) writer.writerow(['id', 'url', 'keywords']) data = [ ('1', 'http
-
C#简单写入xml文件的方法
本文实例讲述了C#简单写入xml文件的方法.分享给大家供大家参考.具体实现方法如下: static void writeTree(XmlNode xmlElement, int level) { String levelDepth = ""; for(int i=0;i<level;i++) { levelDepth += " "; } Console.Write("\n{0}<{1}",levelDepth,xmlElement.N
-
C#实现多线程写入同一个文件的方法
本文实例讲述了C#实现多线程写入同一个文件的方法.分享给大家供大家参考.具体实现方法如下: namespace WfpApp { public partial class Form2 : Form { object obj = new object(); public Form2() { InitializeComponent(); System.Threading.Thread thread; string[] users = new string[] { "zkk", "
-
python写入xml文件的方法
本文实例讲述了python写入xml文件的方法.分享给大家供大家参考.具体分析如下: 本范例通过xml模块对xml文件进行写入操作 from xml.dom.minidom import Document doc = Document() people = doc.createElement("people") doc.appendChild(people) aperson = doc.createElement("person") people.appendChi
-
jsp播放视频文件的方法总结
本文实例讲述了jsp播放视频文件的方法.分享给大家供大家参考,具体如下: 1.avi格式 代码片断如下: JSP代码: <object id="video" width="400" height="200" border="0" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"> <param name="ShowDispl
-
C#获取项目指定目录下文件的方法
本文实例讲述了C#获取项目指定目录下文件的方法.分享给大家供大家参考.具体如下: public List<FileInfo> GetFiles() { string path = string.Concat(System.AppDomain.CurrentDomain.BaseDirectory,"Files\\"); //获取项目物理路径 string[] fileType=new string[]{"pdf\\","pps\\",
-
Python实现读取及写入csv文件的方法示例
本文实例讲述了Python实现读取及写入csv文件的方法.分享给大家供大家参考,具体如下: 新建csvData.csv文件,数据如下: 具体代码如下: # coding:utf-8 import csv # 读取csv文件方式1 csvFile = open("csvData.csv", "r") reader = csv.reader(csvFile) # 返回的是迭代类型 data = [] for item in reader: print(item) dat
-
python读取并写入mat文件的方法
先给大家介绍下python读取并写入mat文件的方法 用matlab生成一个示例mat文件: clear;clc matrix1 = magic(5); matrix2 = magic(6); save matData.mat 用python3读取并写入mat文件: import scipy.io data = scipy.io.loadmat('matData.mat') # 读取mat文件 # print(data.keys()) # 查看mat文件中的所有变量 print(data['ma
随机推荐
- Objective-C中类和方法的定义以及协议的使用
- iis支持asp.net4.0的注册命令使用方法
- javascript一些实用技巧小结
- Bootstrap入门书籍之(三)栅格系统
- PHP新特性之字节码缓存和内置服务器
- Django发送html邮件的方法
- Android网络编程之获取网络上的Json数据实例
- mysql默认编码为UTF-8 通过修改my.ini实现方法
- jQuery 中$(this).index与$.each的使用指南
- sql 去零函数 datagridview中数字类型常出现后面的零不能去掉
- extjs简介_动力节点Java学院整理
- node.js中的http.response.end方法使用说明
- AndroidStudio不自动添加新创建的文件到VCS的解决办法
- Android仿美团网、大众点评购买框悬浮效果修改版
- 解决Win10无法安装.Net Framework 3.5提示错误代码0x800F081F
- python将每个单词按空格分开并保存到文件中
- pygame实现简易飞机大战
- Django stark组件使用及原理详解
- MySQL查询条件中放置on和where的区别分析
- Golang报“import cycle not allowed”错误的2种解决方法
