OpenCV播放AVI视频&视频播放控制.docx

上传人:工**** 文档编号:550334842 上传时间:2023-11-30 格式:DOCX 页数:3 大小:88.62KB
返回 下载 相关 举报
OpenCV播放AVI视频&视频播放控制.docx_第1页
第1页 / 共3页
OpenCV播放AVI视频&视频播放控制.docx_第2页
第2页 / 共3页
OpenCV播放AVI视频&视频播放控制.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《OpenCV播放AVI视频&视频播放控制.docx》由会员分享,可在线阅读,更多相关《OpenCV播放AVI视频&视频播放控制.docx(3页珍藏版)》请在金锄头文库上搜索。

1、【OpenCV学习笔记】1.2 播放AVI视频&视频播放控制(2012-02-06 12:00)标签:OpenCV学习笔记视频滚动条 分类:OpenCV学习笔记用OpenCV播放视频与显示图片的区别,在于播放视频其实就是循环地读取视频中的每一帧,也就是每一张图片,然后快速地顺序显示出来。当需要停止播放视频时,只需要跳出循环即可。而HIghGUI工具包里面的滚动条可以使我们从视频的一帧跳到另外一帧,实现视频播放时的快速拖动功能。环境:WIN7 32bits+VS2010+OpenCV2.2.0在VS2010中新建WIN32项目,完成库及依赖项的配置(具体方法见前一篇)。代码中首先设置全局变量,然

2、后定义一个名为onTrackbarSlide的回调函数,在main函数中调用。具体代码分析如下:1. #includestdafx.h2. #includecv.h3. #include4. #include5.6. /设置全局变量,一个为滚动条的位置。回调函数需要用到的变量cvCapture也是全局变量,所以前面有g_,代表global7. intg_slider_position=0;8. CvCapture*g_capture=NULL;9.10. /回调函数,滚动条拖动时被调用 参数是滚动条的位置(整数) 此函数可以设置cvCapture对象的属性11. void onTrackbar

3、Slide(intpos)12. cvSetCaptureProperty(13. g_capture,14. CV_CAP_PROP_POS_FRAMES,15. pos16. );17. 18.19. /main函数20. int_tmain(intargc,_TCHAR*argv)21. cvNamedWindow(Video,CV_WINDOW_AUTOSIZE);22.23. /只分配一帧的存储空间,此时指针指向avi的开头空间。24. g_capture=cvCreateFileCapture(myvideo.avi);25. /获取视频的全部帧数frames26. intfram

4、es=(int)cvGetCaptureProperty(27. g_capture,28. CV_CAP_PROP_FRAME_COUNT29. );30. /创建滚动条31. if(frames!=0)32. cvCreateTrackbar(33. Position,/滚动条名称34. Video,/所属窗口35. &g_slider_position,36. frames,37. onTrackbarSlide/当滚动条拖动时被触发38. );39. 40. IplImage*frame;41.42. /进入while循环就开始读取avi文件43. while(1)44. /将下一帧视

5、频文件载入内存,返回一个对应当前帧的指针,不同与cvLoadImage为图像分配内存,cvQueryFrame使用已经在cvCapture结构中分配好的内存frame=cvQueryFrame(g_capture);if(!frame)break;cvShowImage(Video,frame);char c=cvWaitKey(33);/显示每一帧之间有33毫秒的间隔if(c=27)break;如果在这间隔期间用户触发Esc按键 循环就退出 否则继续执行循环45. cvReleaseCapture(&g_capture);46. cvDestroyWindow(Video);47. return 0;48. 运行结果:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学研究

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号