Opencv中播放视频时加上滚动条

本文介绍如何使用OpenCV库实现一个简单的视频播放器,包括加载视频文件、设置帧位置、滑动条控制和基本的键盘事件处理。
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"

CvCapture * g_capture=NULL;
int g_slider_pos=0;
int frame_count=0;

void OnTrackbarSlider(int pos)
{
	cvSetCaptureProperty(g_capture,CV_CAP_PROP_POS_FRAMES,pos);
}

int main(int argc, char* argv[])
{
	cvNamedWindow("avi");

	g_capture=cvCreateFileCapture("E:\\Media\\1.avi");

	if(!g_capture)
	{
		printf("加载视频失败!\n");
		return 0;
	}
	IplImage* frame=cvQueryFrame(g_capture);
	int frames=(int)cvGetCaptureProperty(g_capture,CV_CAP_PROP_FRAME_COUNT);
    if(frames>0)
	{
		cvCreateTrackbar("Position","avi",&g_slider_pos,frames,OnTrackbarSlider);
	}
	while(1)
	{
		frame=cvQueryFrame(g_capture);
		if(!frame)
		{
			break;
		}
		cvShowImage("avi",frame);
		char c=	cvWaitKey(33);

		cvSetTrackbarPos("Position","avi",frame_count);
		frame_count++;
		if(c==27)
		{
			break;
		}
	}
	cvReleaseCapture(&g_capture);
	cvDestroyWindow("avi");
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值