OpenCV播放视频并控制位置
来源:互联网 发布:sql delete删除语句 编辑:程序博客网 时间:2024/05/16 11:36
cvGetCaptureProperty是我们需要使用到的获取视频属性的函数。
capture 视频获取结构。
property_id 属性标识。
CV_CAP_PROP_POS_MSEC - 影片目前位置,为毫秒数或者视频获取时间戳
CV_CAP_PROP_POS_FRAMES - 将被下一步解压/获取的帧索引,以0为起点
CV_CAP_PROP_POS_AVI_RATIO-视频文件的相对位置(0 - 影片的开始,1 - 影片的结尾)
CV_CAP_PROP_FRAME_WIDTH - 视频流中的帧宽度
CV_CAP_PROP_FRAME_HEIGHT-视频流中的帧高度
CV_CAP_PROP_FPS - 帧率
CV_CAP_PROP_FOURCC - 表示codec的四个字符
CV_CAP_PROP_FRAME_COUNT- 视频文件中帧的总数
函数cvGetCaptureProperty获得摄像头或者视频文件的指定属性。
译者注:有时候这个函数在cvQueryFrame被调用一次后,再调用cvGetCaptureProperty才会返回正确的数值。这是一个bug,建议在调用此函数前先调用cvQueryFrame。
cvCreateTrackbar(创建滚动条)
该函数为开放计算机视觉(OpenCV)库库函数,创建trackbar并将它添加到指定的窗口。
定义:
trackbar_name 被创建的trackbar名字。
window_name 窗口名字,这个窗口将为被创建trackbar的父对象。
value 整数指针,它的值将反映滑块的位置。这个变量指定创建时的滑块位置。
count 滑块位置的最大值。最小值一直是0。
on_change 每次滑块位置被改变的时候,被调用函数的指针。这个函数应该被声明为void Foo(int); 如果没有回调函数,这个值可以设为NULL。
函数cvCreateTrackbar用指定的名字和范围来创建trackbar(滑块或者范围控制),指定与trackbar位置同步的变量,并且指定当trackbar位置被改变的时候调用的回调函数。
被创建的trackbar默认显示在指定窗口的顶端,可以通过函数cvGetTrackbarPos来获取trackbar显示的位置信息,以及通过函数cvSetTrackbarPos来重新设置trackbar的显示位置。
double cvGetCaptureProperty( CvCapture* capture, int property_id );
capture 视频获取结构。
property_id 属性标识。
CV_CAP_PROP_POS_MSEC - 影片目前位置,为毫秒数或者视频获取时间戳
CV_CAP_PROP_POS_FRAMES - 将被下一步解压/获取的帧索引,以0为起点
CV_CAP_PROP_POS_AVI_RATIO-视频文件的相对位置(0 - 影片的开始,1 - 影片的结尾)
CV_CAP_PROP_FRAME_WIDTH - 视频流中的帧宽度
CV_CAP_PROP_FRAME_HEIGHT-视频流中的帧高度
CV_CAP_PROP_FPS - 帧率
CV_CAP_PROP_FOURCC - 表示codec的四个字符
CV_CAP_PROP_FRAME_COUNT- 视频文件中帧的总数
函数cvGetCaptureProperty获得摄像头或者视频文件的指定属性。
译者注:有时候这个函数在cvQueryFrame被调用一次后,再调用cvGetCaptureProperty才会返回正确的数值。这是一个bug,建议在调用此函数前先调用cvQueryFrame。
cvCreateTrackbar(创建滚动条)
该函数为开放计算机视觉(OpenCV)库库函数,创建trackbar并将它添加到指定的窗口。
定义:
CV_EXTERN_C_FUNCPTR( void (*CvTrackbarCallback)(int pos) );int cvCreateTrackbar( const char* trackbar_name, const char* window_name, int* value, int count, CvTrackbarCallback on_change );参数:
trackbar_name 被创建的trackbar名字。
window_name 窗口名字,这个窗口将为被创建trackbar的父对象。
value 整数指针,它的值将反映滑块的位置。这个变量指定创建时的滑块位置。
count 滑块位置的最大值。最小值一直是0。
on_change 每次滑块位置被改变的时候,被调用函数的指针。这个函数应该被声明为void Foo(int); 如果没有回调函数,这个值可以设为NULL。
函数cvCreateTrackbar用指定的名字和范围来创建trackbar(滑块或者范围控制),指定与trackbar位置同步的变量,并且指定当trackbar位置被改变的时候调用的回调函数。
被创建的trackbar默认显示在指定窗口的顶端,可以通过函数cvGetTrackbarPos来获取trackbar显示的位置信息,以及通过函数cvSetTrackbarPos来重新设置trackbar的显示位置。
代码如下:
#include <cv.h> #include <highgui.h> CvCapture* capture = NULL; int pos=0; //视频位置 void ON_Change(int n) { cvSetCaptureProperty(capture,CV_CAP_PROP_POS_FRAMES,n); //设置视频走到pos位置 } int _tmain(int argc, _TCHAR* argv[]) { cvNamedWindow("show"); //新建一个窗口 capture =cvCreateFileCapture("F:\\TDDOWNLOAD\\10.Little.Asians.16\\fle-10la16a.avi");//创建一个视频 int frames = (int)cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_COUNT); //返回视频帧的总数 cvCreateTrackbar("frame","show",&pos,frames,ON_Change);//创建滚动条 IplImage * frame;//声明视频帧 while(1) { frame = cvQueryFrame(capture); //获取下一帧图像 if (!frame) { break; //如果不存在退出 } pos++; //播放一帧位置加1 //cvSetTrackbarPos("frame","show",pos);//设置进度条位置 加入此语句后视频会变卡 cvShowImage("show",frame); //在窗口显示图像 char c = cvWaitKey(33); //间隔33ms if (c == 27) //如果按下Esc键中断 break; } cvReleaseCapture(&capture); //释放视频空间 cvDestroyWindow("show"); //销毁窗口 }
- OpenCV播放视频并控制位置
- opencv 视频播放控制
- OpenCV视频播放控制
- OpenCV视频播放控制
- 【opencv】播放视频控制
- opencv:视频播放控制
- opencv视频播放控制
- opencv 之 视频播放控制
- OpenCV(3)-视频播放控制
- opencv 之 视频播放控制
- opencv 之 视频播放控制
- OpenCV视频进度播放控制
- opencv之视频播放控制
- Opencv读取并播放视频
- OpenCV(五): Opencv视频播放控制
- OpenCV笔记(二)实现获取视频并控制视频的播放速度
- 【OpenCV学习笔记】1.2 播放AVI视频&视频播放控制
- 【opencv的学习】播放avi视频和视频播放控制
- 从底层角度看ASP.NET
- Django RESTfull接口之Tastypie简介(一)
- malloc时出现bus err,分析思路
- 崖山之后无中国--(不知对否)
- bootstrap学习笔记(二)--table
- OpenCV播放视频并控制位置
- 推荐一个linux下的屏幕取词辞典
- C++读、写、文件操作!
- ASP.NET MVC中的统一化自定义异常处理
- java 重定向 到swt text 控件上
- /proc/diskstats
- java List 排序 Collections.sort() 对 List 排序
- _OBJC_CLASS_$_SKStoreProductViewController
- javascript技巧