首页 > 代码库 > 用OpenCV制作视频控制播放器(无声音)

用OpenCV制作视频控制播放器(无声音)

           申明:OpenCV是计算机视觉库,所以用在图片或视频处理上,故播放的视频暂时没有声音

            软件:用OpenCV制作视频控制播放器(无声音)

            功能说明:新建播放窗口,添加进度条可以拖动视频播放。

            流程图:

              

            功能说明:

              1. 新建进度条 cvCreatTrackbar("","",&,frames,callback)

              2、获取总帧数 cvGetCaptureProperty(&,id) 

                  double cvGetCaptureProperty( CvCapture* capture, int property_id );capture 视频获取结构。property_id 属性标识。可以是下面之一:CV_CAP_PROP_FRAME_COUNT - 视频文件中帧的总数

               3.回调函数 cvSet(&,id, pos)

               int cvSetCaptureProperty( CvCapture* capture, int property_id, double value )property_id 属性标识符。可以是下面之一:CV_CAP_PROP_POS_FRAMES - 单位为帧数的位置(只对视频文件有效)

         

         源代码:

   

#include”cv.h”
#include”highgui.h”

int g_slider_position=0;
CvCapture* g_capture =NULL;

void CvTrackcalllback(int pos)
{
  cvSetCaptureProperty( g_capture, CV_CAP_PROP_POS_FRAMES, pos );

}

int main(int argc, char** argv)
{
 cvNamedWindow("Example3",CV_WINDOW_AUTOSIZE);
 g_capture = cvCreateFileCapture("视频路径");
 int frames = (int)cvGetCaptureProperty(g_capture,CV_CAP_PROP_FRAME_COUNT);
 
 if(frames!=0) 
   {
     cvCreateTrackbar("Test","Example3",&g_slider_position,frames,CvTrackcalllback);
    }
 
 IplImage* frame;
while(1)
{
 frame = cvQueryFrame(g_capture)
 cvShowImage("Example3",frame); 
 cvWaitKey(0);
}
return 0;
}
             

            运行结构截图如下:

          

            有问题,愿意与大家交流!