首页 > 代码库 > 用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; }
运行结构截图如下:
有问题,愿意与大家交流!