《学习opencv》视频播放控制

 HighGUI工具包不仅提供我们一个刚刚使用的一些简单函数,还包括一些图像与视频控制的算法,其中一个就是使用滚动条,滚动条可以使我们可以方便的控制视=视频从一帧跳转到另外一帧中去,我们可以使用cCreateTrackbar()来创建一个滚动条,并通过设置参数确定滚动条所属的窗口

#include<opencv2\opencv.hpp>
#include<highgui.h>
#include <string.h>
#include <iostream>
#include  "cv.h"
using namespace cv;
using namespace std;
int g_slider_position = 0; //huatiao werizhi 
CvCapture*g_capture = NULL;
//sider function
void onTrackbarslider(int pos)
{

	cvSetCaptureProperty(
		g_capture,
		CV_CAP_PROP_POS_FRAMES,
		pos
	);
}
int main(int argc, char** argv)
{
	cvNamedWindow("example", CV_WINDOW_AUTOSIZE);
	g_capture = cvCreateFileCapture("car.avi");
	//定义祯数
	int frames = (int)cvGetCaptureProperty(g_capture, CV_CAP_PROP_FRAME_COUNT);
	if (frames != 0)
	{
		cvCreateTrackbar("position", "example", &g_slider_position, frames, onTrackbarslider);
	}
	//显示视频
	IplImage *frame;
	while (1)
	{
		frame = cvQueryFrame(g_capture);
		if (!frame) break;
		cvShowImage("example", frame);
		char c = cvWaitKey(33);
		if (c == 27)  break;
	}
	//释放内存
	cvReleaseCapture(&g_capture);
	cvDestroyWindow("example");
	return 0;


	
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值