openCV视频操作(C++版本)

VideoCapture类详解
opencv的视频操作主要用到
VideoCapture类,有三个构造函数:

VideoCapture::VideoCapture()//默认无参构造函数;
VideoCapture::VideoCapture(int device)//参数device指定要打开的摄像头设备,例如(0),(1);
VideoCapture::VideoCapture(const string& filename);//构造函数中filename 是指要打开的视频文件路径以及名称;

VideoWriter类:

VideoWriter::VideoWriter()
VideoWriter::VideoWriter(const String &filename, int fourcc, double fps, Size frameSize, bool isColor=true)
VideoWriter::VideoWriter(const String &filename, int apiPreference, int fourcc, double fps, Size frameSize, bool isColor=true)

filename:输出的路径
fourcc:文件格式
CV_FOURCC(‘P’, ‘I’, ‘M’, ‘1’) = MPEG-1 codec
CV_FOURCC(‘M’, ‘J’, ‘P’, ‘G’) = motion-jpeg codec
CV_FOURCC(‘M’, ‘P’, ‘4’, ‘2’) = MPEG-4.2 codec
CV_FOURCC(‘D’, ‘I’, ‘V’, ‘3’) = MPEG-4.3 codec
CV_FOURCC(‘D’, ‘I’, ‘V’, ‘X’) = MPEG-4 codec
CV_FOURCC(‘U’, ‘2’, ‘6’, ‘3’) = H263 codec
CV_FOURCC(‘I’, ‘2’, ‘6’, ‘3’) = H263I codec
CV_FOURCC(‘F’, ‘L’, ‘V’, ‘1’) = FLV1 codec
-1:会在运行的时候弹出选择框
fps帧率
framesize图像大小
iscolor:彩色图像\灰色图像

头函数

#include<iostream>
#include<opencv2\opencv.hpp>
using namespace std;
using namespace cv;

调用摄像头

int main()
{VideoCapture capture(0);//打开笔记本自带摄像头(1)为外接摄像头//或者 //VideoCapture capture;//capture.open(0)double rate = 25.0;//视频的帧率Size videoSize(1280,960);VideoWriter writer("VideoTest.avi", CV_FOURCC('M', 'J', 'P', 'G'), rate, videoSize);while (1){Mat frame;capture >> frame;//读取当前帧writer << frame;imshow("capture", frame);if (waitKey(20) == 27)//27是键盘摁下esc时,计算机接收到的ascii码值{break;}}return 0;
}

读文件中的视频

capture.get()参数详解

nt main()
{//VideoCapture capture("C:/Users/dell/Desktop/Wl-1.m4v");VideoCapture capture;capture.open("C:/Users/dell/Desktop/Wl-1.m4v");//检查是否打开成功if (!capture.isOpened())cout << "fail to open !" << endl;//获取整个帧数long totalFrameNumber = capture.get(CV_CAP_PROP_FRAME_COUNT);//获取视频的帧数cout << "整个视频共" << totalFrameNumber << "帧" << endl;//从设置帧开始long frameToStart = 300;capture.set(CV_CAP_PROP_POS_FRAMES, frameToStart);cout << "从第" << frameToStart << "帧开始读" << endl;int frameTostop=400;if (frameTostop < frameToStart){cout << "结束帧小于开始帧,错误" << endl;}double rate = capture.get(CV_CAP_PROP_FPS);//获取视频的帧率FPScout << "帧率为:" << rate << endl;while (1){Mat frame;capture >> frame;//读取当前帧imshow("capture", frame);waitKey(10);//设置两帧之间的时间间隔。控制帧率,播放视频的时候,越小速度越快。}return 0;
}

openCV视频操作(C++版本)相关推荐

  1. C++ OpenCV视频操作之图像输出文字

    前言 当我们视频分析时可能图像中需要有一个文字说明,OpenCV中本身也有这个API,我们就来看看OpenCV中的图像文字输出. 视频效果 函数API void putText( Mat& i ...

  2. opencv 视频操作入门

    打开摄像头并捕获照片 要使用摄像头,需要使用cv2.VideoCapture(0)创建VideoCapture对象,参数0指的是摄像头的编号,如果你电脑上有两个摄像头的话,访问第2个摄像头就可以传入1 ...

  3. C++ OpenCV视频操作之CamShift跟踪算法

    前言 CamShift算法,全称是 Continuously AdaptiveMeanShift,顾名思义,它是对Mean Shift 算法的改进,能够自动调节搜索窗口大小来适应目标的大小,可以跟踪视 ...

  4. OpenCV 视频操作

    一.视频读写 1. 从文件中读取视频并播放 在OpenCV中我们要获取一个视频,需要创建一个VideoCapture对象,指定你要读取的视频文件: (1)创建读取视频的对象 cap = cv.Vide ...

  5. OpenCV中视频操作及人脸识别案例

    目录 OpenCV中视频操作及人脸识别案例 视频操作 视频读写 从文件中读取视频并播放 保存视频 小结 视频追踪 meanshift Camshift 算法总结 小结 案例:人脸案例 人脸识别基础 实 ...

  6. opencv视频处理和检测学习总结

    基于opencv的视频处理--基础数据结构 在一个封装的还算比较好的库中,一般都不会直接采用那些基本的数据结构像char, int 之类,一是 不具有可读性,二是不方便修改移植.通常是通过typede ...

  7. Ubuntu系统安装opencv详细操作及具体应用

    Ubuntu系统安装opencv详细操作及具体应用 前言 一.opencv是个什么东西 二.opencv的安装 1.资源准备及前期准备 2.安装编译 3.配置更改 4.验证版本 三.opencv应用 ...

  8. C++ opencv视频处理与保存

    1.视频属性类型 视频有很多的属性,有时长,分辨率,帧宽度,帧高度,帧速率等 视频属性中,由于国内互联网视频网站的定义,我们对分辨率的区分有些误区. 所以这里重新介绍一下视频的分辨率,至于其他属性,一 ...

  9. opencv 视频处理(python)

    视频处理 视频处理 VideoCapture类 类函数介绍 捕获摄像头视频 播放视频文件 VideoWriter类 类函数介绍 保存视频 视频操作基础 视频处理 视频是由一系列图像构成的,这一系列图像 ...

最新文章

  1. mac微软雅黑字体_【字体字重】常见设计稿字体对应字重
  2. Python map, reduce, filter和sorted
  3. apk,task,进程区别
  4. html-css练习题(系统提示)
  5. SQL Server数据库的查询、排序
  6. Oracle删除重复数据并且只留其中一条数据
  7. 【Excel-2010】日期函数
  8. 用计算机录制声音让音质更好,电脑有什么好用的录音软件吗
  9. java逆向工程_逆向工程 - Simon.Jiang - 博客园
  10. ssh 远程连接详解--(linux运维09)
  11. 用Unity同时开发【微信小游戏】【安卓】【IOS】游戏#5.5.1 窗口管理器
  12. 使用redis碰到maxmemory
  13. 2015计算机考试成绩查询网址,2015年下半年软考成绩查询入口!
  14. 学生成绩管理系统(xhh)
  15. C/C++二维数组顺时针翻转90度
  16. 最新微软薪资曝光,Run去美国还是好选择吗?
  17. android7 强制gpu渲染,安卓手机开启强制GPU渲染功能的方法
  18. 12.4 C++常引用
  19. 潘超和你聊 DeFi
  20. 计算机网络 实验:配置VLAN

热门文章

  1. ubuntu, xftp 命令安装 testlink (xampp-linux-x64-5.5.3,Linux Un 5.4.0-39)
  2. Socket实战——Teardrop代码编程
  3. Bootstrap4 图片形状——圆形实现
  4. 【Mac】MAC 终端美化教程(来个全套)
  5. OpenCV绘制点线
  6. 基于SVM算法的男女生分类器
  7. 北鲲云超算平台为生命科学的发展赋能,24小时完成10亿规模分子库筛选全流程
  8. 未安装AMD图形驱动程序,或者AMD驱动程序未正常工作。请安装与AMD硬件相对应的AMD驱动程序
  9. 蜘蛛侠面具(头套制作)
  10. php 计算时间段内的工作日 与节假日