Opencv视频教程分析课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Opencv视频教程分析课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Opencv 视频教程 分析 课件
- 资源描述:
-
1、Opencv视频教程Opencv结构与内容Opencv结构ncxcorencvnMachine Learning(ML)nHighGUIcxcoren基础结构:CvPoint,CvSize,CvScalar等n数组操作:cvCreateImage,cvCreateMat等n动态结构:CvMemStorage,CvMemBlock等n绘图函数:cvLine,cvRectangle等n数据保存和运行时类型信息:CvFileStorage,cvOpenFileStorage等n错误处理和系统函数:cvGetErrStatus,cvAlloc,cvFree等cvn图像处理:cvSobel,cvCann
2、y等n结构分析:ContourArea等n运动分析与目标跟踪:cvMeanShift等n模式识别:CvHaarFeaturen摄像头定标与三维重建:cvCalibrateCMachine Learning(ML)n包含许多聚类、分类和数据分析函数。如Bayes分类器,K近邻算法,支持向量机,决策树,神经网络等等。HighGUIn图像界面函数:cvNamedWindown读图像和保存图像:cvLoadImage,cvSaveImagen读视频和写视频:CvCreateFileCapture等cvcamn摄像机接口,在Opencv1.0以后的版本中已经被移除cvauxn该模块中一般存放一些即将被淘
3、汰的算法和函数(如基于嵌入式隐马尔科夫的人脸识别算法),还包含一些实验性的算法和函数(前景检测,背景剔除等)Opencv的结构Opencv视频教程显示图像第一个程序:显示图像基于基于Opencv,我们可以读取各种图像文件,我们可以读取各种图像文件,视频文件,还可以读取摄像头。这些功能视频文件,还可以读取摄像头。这些功能是是Opencv开发包中开发包中HighGUI工具集的一部工具集的一部分。下面,我们就使用其中的一些功能来分。下面,我们就使用其中的一些功能来实现如何显示一幅图像。实现如何显示一幅图像。显示图像代码显示图像代码n#include highgui.hnint main(int ar
4、gc,char*argv)nnIplImage*src=cvLoadImage(F:psbCA2V1GZ7.jpg,1);ncvNamedWindow(show_image);ncvShowImage(show_image,src);ncvWaitKey(0);nreturn 0;cvLoadImage(char*filename,int flags=CV_LOAD_IMAGE_COLOR)nFilename:图像所在路径nFlags:n/*图像颜色不变*/n#define CV_LOAD_IMAGE_UNCHANGED -1n/*灰度图像(单通道)*/n#define CV_LOAD_IMA
5、GE_GRAYSCALE 0n/*彩色图像(3通道图像)*/n#define CV_LOAD_IMAGE_COLOR cvLoadImage参数说明nFlags:n/*则输入图像格式可以为8位无符号,16位无符号,32位有符号或者32位浮点型*/n#define CV_LOAD_IMAGE_ANYDEPTH 2n/*保持原样*/n#define CV_LOAD_IMAGE_ANYCOLOR cvLoadImage参数说明n如果想要载入最真实的图像,选择CV_LOAD_IMAGE_ANYDEPTH|CV_LOAD_IMAGE_ANYCOLOR n如果输入有冲突的标志,将采用较小的数字值。比如CV
6、_LOAD_IMAGE_GRAYSCALE|CV_LOAD_IMAGE_COLOR将载入单通道图。cvLoadImage的功能n通过文件名确定被加载图像的格式,并且该函数在内部分配图像数据结构所需要的内存空间。n支持的图像格式:BMP,DIB,JPEG,JPE,PNG,PBM,PGM,PPM,SR,RAS,TIFF。Int cvNamedWindow(char*name,int flagsnname:窗口的标志。如果已经有同名窗口,则该函数什么也不干。nFlags:CV_WINDOW_AUTOSIZE,会根据图像大小自动调整窗口大小。如果是0,则窗口大小不变。cvShowImage(char*
7、name,IplImage*dst)功能:在指定窗口上显示图像。nname:窗口的标志。这个标志是cvNamedWindow函数设定的。ndst:被显示的图像。Int cvWaitKey(int key)nKey:如果key的值是大于0的数,那么该函数的功能是,在此处暂停key毫秒。如果是小于等于0的数,那么,该函数是在等待用户的按键输入。cvReleaseImage(IplImage*src)n释放图像空间。cvDestroyWindow(char*name)n注销一个窗口。同时释放为该窗口所分配的所有内存(包括窗口内部的图像内存缓冲区)Opencv视频教程Opencv读取视频Opencv读
8、取视频代码n#include highgui.hnint main(int argc,char*argv)nncvNamedWindow(avi);nCvCapture*capture=cvCreateFileCapture(“视频文件路径视频文件路径);nIplImage*frame;nwhile(1)nnframe=cvQueryFrame(capture);nif(!frame)break;ncvShowImage(avi,frame);nchar c=cvWaitKey(33);nif(c=27)nbreak;nncvReleaseCapture(&capture);ncvDestro
9、yWindow(avi);nreturn 0;结构体结构体CvCapturenCvCapture 是一个结构体,用来保存图像捕获所需要的信息。是一个结构体,用来保存图像捕获所需要的信息。opencv提供两种方式从外部捕获图像提供两种方式从外部捕获图像n一种是从摄像头中,一种是从摄像头中,n一种是通过解码视频得到图像。一种是通过解码视频得到图像。两种方式都必须从第一帧开始一帧一帧的按顺序获取,因此每获取一两种方式都必须从第一帧开始一帧一帧的按顺序获取,因此每获取一帧后都要保存相应的状态和参数。帧后都要保存相应的状态和参数。比如从视频文件中获取,需要保存视频文件的文件名,相应的解码器比如从视频文件
10、中获取,需要保存视频文件的文件名,相应的解码器类型,下一次如果要获取将需要解码哪一帧等。类型,下一次如果要获取将需要解码哪一帧等。这些信息都保存在这些信息都保存在CvCapture结构中,每获取一帧后,这些信息都将被更新,获取下一结构中,每获取一帧后,这些信息都将被更新,获取下一帧需要将新信息传给获取的帧需要将新信息传给获取的api接口接口cvCreateFileCapture(char*name)n通过输入要读取的avi文件的路径,然后,该函数返回一个指向CvCapture结构体的指针。cvQueryFrame(capture)n输入一个CvCapture类型的指针,该函数主要功能是将视频文
11、件的下一帧加载到内存。与cvLoadImage的不同之处是,该函数不重新分配内存空间。C=cvWaitKey(33)n当前帧被显示后,等待33毫秒。如果用户触发了一个按键,c会被设置成这个按键的ASCII码,否则会被设置成-1。ncvWaitKey(33)在此处的另外一个作用是,控制帧率。cvReleaseCapture(&capture)释放为CvCapture结构体开辟的内存空间关闭打开的AVI文件相关的文件句柄读取摄像头n只需把cvCreateFileCapture改成改成cvCreateCameraCapture即可。即可。该函数的输入参数是一个ID号,只有存在多个摄像头时才起作用。当
12、ID=-1时,表示随机选择一个。HighGUI做了很多工作,使得摄像机图像序列像一个视频文件一样。在第4章,会有更详细的介绍。总结常见问题(1)视频文件路径没写对(2)没有安装解码器(3)如果使用的是Opencv2.0或更高版本,那么,能否正确加载opencv_ffmpeg210.dll(4)尽管是AVI文件,但也可能使用了某种codec,例如:MJPEG Decompressor。需要把它转换OpenCV支持的AVI文件.OpenCV支持的AVI。例如使用狸窝全能视频转换器,在预置方案处,选择AVI-Audio_Video Interleaved(*.avi)。或者使用格式工厂也可以。(5)
展开阅读全文