OpenCV视频进度播放控制

来源:互联网 发布:无人机淘宝可靠吗 编辑:程序博客网 时间:2024/05/01 08:49

       本来打算把进度条嵌入MFC的PIC空间里面,结果显示进度条消失,看来还是不要这个样子了。

全局变量区域:

//2.初始化进度条的位置int   G_slider_position   =     0;CvCapture*    G_capture   =  NULL;//cv::VideoCapture    G_capture   =  NULL;bool    G_StatePlay = false;

全局回调函数:

//2.进度条的回调函数,播放进度控制void onTrackbarSlide(int  Pos){ cvSetCaptureProperty(G_capture, CV_CAP_PROP_POS_FRAMES, Pos);//设置视频cvSetTrackbarPos("Trackbar Name","VideoBar" , Pos);IplImage* frameS=cvQueryFrame(G_capture);cv::Mat frameDst(240,320,CV_8UC3);//resizeImage( frameS, frameDst);cv::Mat  MatSrc( (frameS) ) ;cv::resize(MatSrc,frameDst,frameDst.size() );cv::imshow("VideoBar",frameDst);cv::waitKey(0);cvReleaseImage(&frameS); }

控制播放的代码:

bool CPicToolsDlg::initTrackBar(){//捕获视频//G_capture=cvCreateFileCapture("video.long.raw.avi");//获取视频的帧数int frames = (int) cvGetCaptureProperty(G_capture,CV_CAP_PROP_FRAME_COUNT);//从第N-100帧开始显示int Pos =100;cvSetCaptureProperty(G_capture,CV_CAP_PROP_POS_FRAMES,Pos);  //建立进度条if(frames!=0){cvNamedWindow("VideoBar",CV_WINDOW_AUTOSIZE);cvCreateTrackbar("Trackbar Name","VideoBar" ,&G_slider_position,frames, onTrackbarSlide);}return true;}

控制效果:

 






0 0
原创粉丝点击