opencv(4)--cvCreateTrackbar一个有滚动条的播放器

来源:互联网 发布:抢票软件 付费 编辑:程序博客网 时间:2024/05/20 23:57

============这节课带大家用opencv做一个带滚动条的播放器=================

!!!!!!!!!!建议对照上两节课的播放器进行对比!!!!!!!!!!!!

!!!!!!!!!!!!还有这个源码也是对应网上流传的opencv视频教程!!!!!!!!!!!但是绝对是自己手打的,只是思路跟着视频学的而已

CvCapture *capture;//callback函数 进度条void OnChangeBar(int pos){//printf("postion:%d \n",pos);cvSetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES,pos);}//读取视频代码 加上滚动条的版本void CaptureShowFunc1_0(){//读取视频数据capture = cvCreateFileCapture("E:\\CProjects\\opencv\\TempPic\\test.wmv");//capture = cvCreateFileCapture("E:\\CProjects\\opencv\\ConsoleApplication1\\ConsoleApplication1\\out.avi");//读取摄像头//CvCapture *capture = cvCreateCameraCapture(0);//创建放置视频的窗口cvNamedWindow("myWindow", CV_WINDOW_AUTOSIZE);IplImage * frame;//放置视频当前帧的图片int *trackBarCurPos = 0;//当前滚动条所在的位置int frameCount = cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_COUNT);//获取整个视频一共有多少帧cvCreateTrackbar("trackBar", "myWindow", trackBarCurPos, frameCount, OnChangeBar);//创建滚动条while (true){frame = cvQueryFrame(capture);if(frame == NULL){break;}//展示当前帧的图片cvShowImage("myWindow", frame);int curFrameCount = cvGetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES);cvSetTrackbarPos("trackBar", "myWindow", curFrameCount);char c = cvWaitKey(33);if (c == 27){break;}}//释放视频cvReleaseCapture(&capture);//销毁窗口cvDestroyWindow("myWindow");}

/* create trackbar and display it on top of given window, set callback */CVAPI(int) cvCreateTrackbar( const char* trackbar_name, const char* window_name,                             int* value, int count, CvTrackbarCallback on_change CV_DEFAULT(NULL));

cvCreateTrackbar

参数一:滚动条名字

参数二:展示在哪个窗口

参数三:当前滚动条的位置

参数四:滚动条有多少个posion

参数五:回调函数

0 0
原创粉丝点击