#include <iostream>
#include "highgui.h"
int loacal;
double totalNum;
CvCapture *capture;
void fun(int x);
void main()
{
cvNamedWindow("avi"); //创建窗口
capture = cvCreateFileCapture("E:\\学习\\vc\\phei.avi"); //打开的文件
totalNum = cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_COUNT); //计算文件的总帧数
if (totalNum>=0)
{
cvCreateTrackbar("position","avi",&loacal,totalNum,fun); //创建进度条 ,fun函数是回调函数,是消息传递调用的
}
IplImage *frame;
while (1)
{
frame = cvQueryFrame(capture);
cvShowImage("avi",frame);
char c = cvWaitKey(40);
if (c == 27)
{
break;
}
loacal++;
cvSetTrackbarPos("position","avi",loacal); //设置进度条的运动位置
}
cvReleaseCapture(&capture);
cvDestroyWindow("avi");
}
void fun(int x) //设置位置
{
cvSetCaptureProperty(capture,CV_CAP_PROP_POS_FRAMES,x);
loacal=x;
printf("%d\n",x);
}
opencv实现播放视频文件(AVI) 并设置播放的进度条
最新推荐文章于 2019-10-14 08:30:27 发布