说明: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;
}
运行结构截图如下:
有问题,愿意与大家交流!