Opencv 初探、录制视频、保持视频、播放视频

一、介绍

  • OpenCV是计算机视觉领域应用最广泛的开源工具包,基于C/C++,支持Linux/Windows/MacOS/Android/iOS,并提供了Python,Matlab和Java等语言的接口,因为其丰富的接口,优秀的性能和商业友好的使用许可,不管是学术界还是业界中都非常受欢迎。OpenCV最早源于Intel公司1998年的一个研究项目,当时在Intel从事计算机视觉的工程师盖瑞·布拉德斯基(Gary Bradski)访问一些大学和研究组时发现学生之间实现计算机视觉算法用的都是各自实验室里的内部代码或者库,这样新来实验室的学生就能基于前人写的基本函数快速上手进行研究。于是OpenCV旨在提供一个用于计算机视觉的科研和商业应用的高性能通用库。
  • 和Python一样,当前的OpenCV也有两个大版本,OpenCV2和OpenCV3。相比OpenCV2,OpenCV3提供了更强的功能和更多方便的特性。
  1. core:核心模块,主要包含了OpenCV中最基本的结构(矩阵,点线和形状等),以及相关的基础运算/操作。
  2. imgproc:图像处理模块,包含和图像相关的基础功能(滤波,梯度,改变大小等),以及一些衍生的高级功能(图像分割,直方图,形态分析和边缘/直线提取等)。
  3. highgui:提供了用户界面和文件读取的基本函数,比如图像显示窗口的生成和控制,图像/视频文件的IO等。
  • video:用于视频分析的常用功能,比如光流法(Optical Flow)和目标跟踪等。
  • calib3d:三维重建,立体视觉和相机标定等的相关功能。
  • features2d:二维特征相关的功能,主要是一些不受专利保护的,商业友好的特征点检测和匹配等功能,比如ORB特征。
  • object:目标检测模块,包含级联分类和Latent SVM
  • ml:机器学习算法模块,包含一些视觉中最常用的传统机器学习算法。
  • flann:最近邻算法库,Fast Library for Approximate
  • Nearest Neighbors,用于在多维空间进行聚类和检索,经常和关键点匹配搭配使用。
  • gpu:包含了一些gpu加速的接口,底层的加速是CUDA实现。
  • photo:计算摄像学(Computational Photography)相关的接口,当然这只是个名字,其实只有图像修复和降噪而已。
  • stitching:图像拼接模块,有了它可以自己生成全景照片。
  • nonfree:受到专利保护的一些算法,其实就是SIFT和SURF。
  • contrib:一些实验性质的算法,考虑在未来版本中加入的。
  • legacy:字面是遗产,意思就是废弃的一些接口,保留是考虑到向下兼容。
  • ocl:利用OpenCL并行加速的一些接口。
  • superres:超分辨率模块,其实就是BTV-L1(Biliteral Total Variation – L1
  • regularization)算法
  • viz:基础的3D渲染模块,其实底层就是著名的3D工具包VTK(Visualization Toolkit)。

二、常用接口

原文地址:https://www.cnblogs.com/shiqi17/p/11483300.html

时间: 2024-08-05 16:25:08

Opencv 初探、录制视频、保持视频、播放视频的相关文章

使用HLS协议连接nginx实现近实时流方式播放视频

目录 1. 流媒体 1.1 流式传输 2. 点播 2.1 点播方案 2.2 什么是HLS 3. 视频编码 3.1 视频编码格式 3.2 FFmpeg 的基本使用 3.3 生成m3u8/ts文件 3.4 码率的设置 4. 播放器 4.1 技术选型 4.2 video.js 5. 开始配置nginx 6. 编写测试页面video.html 7. 测试 demo 地址 1. 流媒体 流媒体就是将视频文件分成许多小块儿,将这些小块儿作为数据包通过网络发送出去,实现一边传输视 频 数据 包一边观看视频.

mac_QuickTime Player播放视频

mac的QuickTime player 默认打开视频之后,是暂停的状态 解决方法:进入终端输入以下命令,可以实现打开视频就开始播放 defaults write com.apple.QuickTimePlayerX MGPlayMovieOnOpen 1 mac的QuickTime Player 播放器上点击双箭头按钮可以用 2 倍的速度播放视频, 但是 2 倍速太快了,如果想以 1.5.1.6 倍速播放视频呢? 解决方法: 按住option 键,再点击双箭头,每点击一次,播放速度就会增加 0

Android酷炫欢迎页播放视频,仿蚂蜂窝自由行和慕课网

转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53115253 本文出自[DylanAndroid的博客] Android酷炫欢迎页播放视频,仿蚂蜂窝自由行和慕课网 今天无意间看到了蚂蜂窝自由行的app,启动页很酷炫.我记得以前慕课网有个版本的app欢迎页也是播放视频的.今天就顺手写一个,代码比较简单,高手请略过. 先看效果图: 一.资源准备 三个比较短小的视频:视频下载 二.开始编写代码 1.在项目的res下新建一个raw

Flex 播放视频

Flex提供视频控件(VideoDisplay Control)播放图像和声音. 视频控件只支持播放,暂停和停止功能.不提供倒退和前进功能.只支持播放FLV格式的影片. 1. 视频控件标签 对应的MXML标签为<mx:VideoDisplay> 常用属性: 控制视频播放的相应方法: close():关闭视频. load():加载视频. pause():暂停视频. play():播放视频. stop():停止视频. 2. 视频控件的事件 close:影片下载完毕或者播放完毕时发生该事件. com

unity 中播放视频

Unity视频播放有很多种实现方式,可根据要求来选择适当的实现,这里总结一下: 1. MovieTexture Unity标准接口,支持的播放视频格式有.mov..mpg..mpeg..mp4..avi和.asf.仅支持PC端的本地视频播放. 1. 在游戏对象中播放,就好比在游戏世界中创建一个Plane面对象,摄像机直直的照射在这个面上 在新建的一个plane平面,将其纹理绑定为电影纹理即可 //设置当前对象的主纹理为电影纹理 renderer.material.mainTexture = mo

HTML5视频、音频播放事件属性与API控件

1.video.audio标签 <video src = "movie.mp4" controls = "controls"><video> 或者<video controls = "controls"> <source src = "movie.mp4"> <video>2.HTML5视频API 控件 (1)获得video标签 ①通过DOM对象 var video

OpenCV录制视频,播放视频

一.录制视频 获取摄像头操作 camObj = cv2.VideoCapture(0) :0为默认计算机默认摄像头,多个摄像头依次后面1.2.3 检查是否成功初始化: camObj.isOpen() #True成功 False失败,同理打开视频 失败可尝试:camObj.open() 读取一帧图片: ret, frame = camObj.read() 返回值: ret: 代表当前帧是否读取成功 frame: 带表当前帧数据,是一个多维数组,若读取失败则为None 色彩空间的转换:cv2.cvt

opencv 显示一个图片/播放视频

//显示图片 #include"highgui.h" int main(int argc,char **argv) { IplImage *img=NULL; char *imgname="E:/实验/image/1.jpg"; img=cvLoadImage(imgname);//cvLoadImage加载一个图片 并返回一个IplImage指针 cvNamedWindow("test",0);//创建一个叫test的窗口,窗口大小固定 cvS

OpenCV教程【002 VideoCapture加载并播放视频】

#include <opencv2/opencv.hpp> #include <iostream> using namespace std; using namespace cv; //opencv3.0 alpha加载并播放视频 2015.11.07 int main(int argc, char* argv[]) { const char* vedioName = "D:/演示源码/视频/djxzBrightness.mp4"; cv::VideoCaptu

OpenCV 入门示例之二:播放 AVI 视频

前言 本文展示一个播放 AVI 视频的程序.( 呵呵是 AVI 视频不是 AV 视频噢! ) 代码示例 OpenCV 入门示例之二:播放 AVI 视频,布布扣,bubuko.com