OpenCV 4.4 习题解答

chap 4. 4  控制视频播放,单击游标视频帧跳跃到相应帧。

#include
#include
// chap 4.4 参照教材pp:24
int position=0;
CvCapture* capture=NULL;
void onTrackbarSlide(int pos)
{
	cvSetCaptureProperty(capture,CV_CAP_PROP_POS_FRAMES,pos);
}
void main()
{
	cvNamedWindow("video");
	capture=cvCreateFileCapture("D:\\video\\case.mp4");
	int frames=(int)cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_COUNT);
	if(frames)
	{
		cvCreateTrackbar("POS","video",&position,frames,onTrackbarSlide);
	}
	IplImage* frame=NULL;
	while(capture)
	{
		frame=cvQueryFrame(capture);
		position++;
		cvSetTrackbarPos("POS","video",position);// 实现游标的移动和视频帧的对应
		cvShowImage("video",frame);
		if(cvWaitKey(33)>0)
			break;
	}
	cvReleaseCapture(&capture);
}

若想 像题目要求那样 以10 进行跳帧,

只需 postion++; 修改为: position += 10;


由于没什么新内容,不做讲解。

可参考教材pp: 24页相关内容。

你可能感兴趣的:(opencv,opencv,视频播放控制)