《学习opencv》学习笔记
test3:播放视频02
->源代码截图如下:
->程序分析:
1. 回调函数:
onTrackbarSlide(int pos){
cvSetCaptureProperty(指向cvCapture结构的指针,传入参数的类型(帧数、进度等等),pos);}
->回调函数当进度条被拖动时调用,这里的功能是设置视频的进度
2. 获得CvCapture结构的一些属性:
cvGetCaptureProperty(CvCapture结构的指针,要获得的参数);
->int frames=(int)cvGetCaptureProperty(g_capture,CV_CAP_PROP_FRAME_COUNT);
(获得视频的总帧数传入frames)
->g_curpos=(int)cvGetCaptureProperty(g_capture,CV_CAP_PROP_POS_FRAMES);
(获得当前的视频帧数)
3. 进度条创建:
cvCreateTrackbar(进度条名字,进度条所在窗口的名字,滚动条变量指针,进度最大值,回调函数名);
->上述函数相当于声明了滚动条的一些性质,当它被拖动时自动调用参数中的回调函数
4. 设置进度条的进度:
cvSetTrackbarPos(进度条名称,进度条所在窗口名称,进度条位置);
注:实现进度的显示思想是先设置一个表示当前帧数的变量g_curpos,每当显示一帧时先获取这个值(通过cvGetCaptureProperty函数),然后再设置进度条的进度(通过cvSetTrackbarPos函数)。