一.简介

OpenCV提供了专门操作视频的接口类VideoCapture

二.构造VideoCapture类

VideoCapture::VideoCapture()

VideoCapture::VideoCapture(const string& filename)

VideoCapture::VideoCapture(int device)

  • filename

输入视频文件的路径名称

  • device

打开视频操作索引号设置:

摄像头设置为0

三.VideoCapture类成员函数

VideoCapture::grab  抓住下一帧的视频文件或捕获设备

VideoCapture::retrieve  解码并返回视频帧

VideoCapture& VideoCapture::operator >> (Mat& image)

1.打开关闭视频

VideoCapture::open         打开视频文件或视频获取装置

VideoCapture::isOpened  判断视频文件读取是否正确,返回true则正确

VideoCapture::release  关闭视频流文件

2.视频信息

videoCapture::get   返回指定视频类的相关参数信息

VideoCapture::set  设置类信息的一个属性

3.读取序列帧

bool VideoCapture::read(Mat& image)  //解码返回下一个视频帧

4.提取序列帧

VideoWriter

四.视频图像比较

图像相似度主要是对两幅图像内容的相似程度进行打分,根据分数的高低来判断图像内容的相似程度.

图像比较有两种方法:峰值信噪比(PSNR,Peak Signal to Noise Ratio)和结构相似性(SSIM,tructural similarity index)

OpenCV2:第十章 视频操作的更多相关文章

  1. OpenCV2:第八章 视频操作

    一.简介 OpenCV提供了专门操作视频的接口类VideoCapture类,可以从文件或摄像设备中读取视频

  2. javaCV入门指南:调用FFmpeg原生API和JavaCV是如何封装了FFmpeg的音视频操作?

    通过"javaCV入门指南:序章 "大家知道了处理音视频流媒体的前置基本知识,基本知识包含了像素格式.编解码格式.封装格式.网络协议以及一些音视频专业名词,专业名词不会赘述,自行搜 ...

  3. OpenCV2邻域和模板操作

    在图像处理中,通过当前位置的邻域像素计算新的像素值是很常见的操作.当邻域包含图像的上几行和下几行时,就需要同时扫描图像的若干行,这就是图像的邻域操作了.至于模板操作是实现空间滤波的基础,通常是使用一个 ...

  4. OpenCV——视频操作基础

    读入视频: VideoCapture 类 //方法一 VideoCapture capture; capture.open("test.avi"); //方法二 VideoCapt ...

  5. 1.6 opencv视频操作基础

    利用opencv中的VideoCapture类,来对视频进行读取显示,以及调用摄像头. VideoCapture是opencv 2.X中新增的一个类,对应于之前C语言版本的CvCapture结构体.它 ...

  6. OpenCV读写视频操作

    一.读取视频流 在使用OpenCV读取摄像头,或者处理一些磁盘中保存的视频文件时,通常使用VideoCapture进行读取. std::string video_path("/path/to ...

  7. opencv(3)视频操作

    视频中最常用的就是从视频设备采集图片或者视频,或者读取视频文件并从中采样.所以比较重要的也是两个模块,一个是VideoCapture,用于获取相机设备并捕获图像和视频,或是从文件中捕获.还有一个Vid ...

  8. node ffmpeg 视频操作

    1,先安装ffmpeg 2,设置环境变量 3,npm install fluent-ffmpeg 4,编码 var ffmpeg = require('fluent-ffmpeg'); //视频合并 ...

  9. jQuery基础--音乐视频操作

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

随机推荐

  1. Java简单高精度合集

    第一个Java的算法程序.记得可以使用Alt+'/'自动补全sysout和main之类的. BigInteger在java.math.BigInteger中. import java.math.Big ...

  2. bzoj 1823: [JSOI2010]满汉全席【2-SAT+tarjan】

    因为每种食材只有一份,所以两个评委的如果有要求同一种食材的两种做法就是不可行,用这个来建立2-SAT模型 然后跑tarjan判可行性即可 #include<iostream> #inclu ...

  3. CentOS 7.6 最小安装 ifconfig command not found 及 yum 不可用的解决办法

    问题描述 下载的是 CentOS 7.6 Everything 版本,在 VMware 12 上安装时软件选择“最小安装”后,输入 ifconfig 命令提示: bash ifconfig comma ...

  4. 第十五篇 .NET高级技术之正则表达式

    正则表达式 正则表达式是对字符串进行匹配的语法,像name like '%李%'一样,定义了一些特殊的“元字符”,用来判断一个字符串是否满足某个规则.正则表达式非常深,编译器都是基于正则表达式,掌握基 ...

  5. 关于使用IQKeyBoardManager键盘还是被遮挡的问题解决方案

    今天在做一个登录界面的时候发现使用了IQKeyBoardManager键盘还是被遮挡,解决方案如下 解决方案一:在所有视图的最外层添加一个UIView作为容器即可,但在有导航栏的情况下导航栏会跟着向上 ...

  6. P2024 [NOI2001]食物链

    第一种说法是"1 X Y",表示 X 和 Y 是同类. 第二种说法是"2 X Y",表示 X 吃 Y . 根据这句话 可以看出来这是一个种类并查集 种类并查集 ...

  7. hdu6195 cable cable cable(from 2017 ACM/ICPC Asia Regional Shenyang Online)

    最开始一直想不通,为什么推出这个公式,后来想了半天,终于想明白了. 题目大意是,有M个格子,有K个物品.我们希望在格子与物品之间连数量尽可能少的边,使得——不论是选出M个格子中的哪K个,都可以与K个物 ...

  8. C#操作高低位

    比如一个数 想把高位 与地位拆开,分别显示 可以用这个办法 x=(uint16)(x>>8)   (高字节向右移动8位 相当于*256) X=(UINT16)(X &0X00FF) ...

  9. oracle 查询用户权限

    查询用户和权限 select object_name,created from user_objects; 受权 grant select any table,create table,create ...

  10. excel导入phpmyadmin

    1.将excel文件另存为txt文件,再将txt文件保存为.csv文件同时修改编码为UTF8 2.登录phpmyadmin,在phpmyadmin中创建好表格,按excel中的顺序创建每列 3.因为p ...