您的位置:首页 > 运维架构

opencv实现播放视频文件(AVI) 并设置播放的进度条

2012-10-31 23:05 681 查看
#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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: