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从摄像头获取帧并写入视频文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Python+OpenCV+pyQt5录制双目摄像头视频的实例
起因 说起来录制视频,我们可能有很多的软件,但是比较坑的是,好像很少的软件支持能够同时录制两个摄像头的视频,于是我们用python自己写一个.要是OpenCV+python.貌似很简单就能OK的事情,但是,我们的项目不是一般要展示给老师看嘛.谁愿意看一个没有界面的录制过程是吧~,最后会附上源代码~ 依赖的包 在这里,我直接把import的包写出来了各位可以进行对号入座,然后就能知道需要安装哪个包啦! import cv2 import numpy as np from PyQt5.QtWidge
-
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打开摄像头,保存视频、拍照功能的实现方法
以下代码是保存视频 # 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
-
OpenCV实现简单摄像头视频监控程序
如何在冗长的监控录像中找到关键点?我们知道,监控录像中大部分信息都是没用的,那些信息就等同于一幅静态图像.我们要等待监控的范围内出现异常情况时再跟踪. 这其实是一个最简单的计算机图像处理程序.简单的思路是这样的:首先给摄像头取景采样,当背景稳定时,以该图片作为基准图片.然后在监控过程中,若出现了和基准图片反差较大的视频帧,那么启动捕捉程序,并标出异常区域. 程序如下: #include <cv.h> #include <time.h> #include <stdio.h>
-
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) { //获取当前
-
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
随机推荐
- SQL Server 中 RAISERROR 的用法详细介绍
- dubbo的配置文件详解(推荐)
- remote script文档[转载自微软](二)
- Spring集成MyBatis完整实例(分享)
- Dom操作之兼容技巧分享
- Windows中Tomcat整合到Eclipse的图文教程
- iOS通过http post上传图片
- 理解JS事件循环
- Asp.net下载功能的解决方案代码
- 2017年最新PHP经典面试题目汇总(上篇)
- 关于IE的RegExp.exec的问题
- Tsys OkHtm.com修改版数据采集方法
- C语言中的字符(char)详细讲解
- 使用JavaScript进行表单校验功能
- Lua教程(四):在Lua中调用C语言、C++的函数
- 初步认识JavaScript函数库jQuery
- jQuery中attr()与prop()函数用法实例详解(附用法区别)
- Android基于讯飞语音SDK实现语音识别
- Win Server 2003秘笈放送
- Oracle数据库部分迁至闪存存储的实现方法