Opencv视频教程之读取视频和摄像头.ppt_第1页
Opencv视频教程之读取视频和摄像头.ppt_第2页
Opencv视频教程之读取视频和摄像头.ppt_第3页
Opencv视频教程之读取视频和摄像头.ppt_第4页
Opencv视频教程之读取视频和摄像头.ppt_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Opencv视频教程,Opencv读取视频,Opencv读取视频代码,#include highgui.h int main(int argc, char* argv) cvNamedWindow(avi); CvCapture* capture = cvCreateFileCapture(“视频文件路径); IplImage* frame; while(1) frame = cvQueryFrame(capture); if(!frame)break; cvShowImage(avi,frame); char c = cvWaitKey(33); if(c=27) break; cvRele

2、aseCapture( ,结构体CvCapture,CvCapture 是一个结构体,用来保存图像捕获所需要的信息。 opencv提供两种方式从外部捕获图像 一种是从摄像头中, 一种是通过解码视频得到图像。 两种方式都必须从第一帧开始一帧一帧的按顺序获取,因此每获取一帧后都要保存相应的状态和参数。 比如从视频文件中获取,需要保存视频文件的文件名,相应的解码器类型,下一次如果要获取将需要解码哪一帧等。 这些信息都保存在CvCapture结构中,每获取一帧后,这些信息都将被更新,获取下一帧需要将新信息传给获取的api接口,cvCreateFileCapture(char*name),通过输入要读取

3、的avi文件的路径,然后,该函数返回一个指向CvCapture结构体的指针。,cvQueryFrame(capture),输入一个CvCapture类型的指针,该函数主要功能是将视频文件的下一帧加载到内存。与cvLoadImage的不同之处是,该函数不重新分配内存空间。,C=cvWaitKey(33),当前帧被显示后,等待33毫秒。如果用户触发了一个按键,c会被设置成这个按键的ASCII码,否则会被设置成-1。 cvWaitKey(33)在此处的另外一个作用是,控制帧率。,cvReleaseCapture(&capture),释放为CvCapture结构体开辟的内存空间 关闭打开的AVI文件相

4、关的文件句柄,读取摄像头,只需把cvCreateFileCapture改成cvCreateCameraCapture即可。 该函数的输入参数是一个ID号,只有存在多个摄像头时才起作用。当ID=-1时,表示随机选择一个。HighGUI做了很多工作,使得摄像机图像序列像一个视频文件一样。 在第4章,会有更详细的介绍。,总结,常见问题,(1)视频文件路径没写对 (2)没有安装解码器 (3)如果使用的是Opencv2.0或更高版本,那么,能否正确加载opencv_ffmpeg210.dll (4)尽管是AVI文件,但也可能使用了某种codec,例如:MJPEG Decompressor。 需要把它转换OpenCV支持的AVI文件. OpenCV支持的AVI。例如使用狸窝全能视频转换器,在预置方案处,选择AVI-Audio

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论