您的位置:首页 > 运维架构

OpenCV播放视频,滑动条随帧数动态变化

2015-06-19 17:20 423 查看
#include "highgui.h"

int			g_slider_position	= 0;
CvCapture*	g_capture			= NULL;

void OnTrackbarSlide(int pos)
{
cvSetCaptureProperty(
g_capture,
CV_CAP_PROP_POS_FRAMES,
pos);
g_slider_position = pos;
}

int main()
{

/*加载图像
IplImage * img = cvLoadImage("C:\\1.jpg");
cvNamedWindow("Test", CV_WINDOW_NORMAL);
cvShowImage("Test", img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Test");
*/

/*加载视频*/
cvNamedWindow("Vedio");
g_capture = cvCreateFileCapture("C:\\1.mp4");
int frames = (int)cvGetCaptureProperty(g_capture, CV_CAP_PROP_FRAME_COUNT);
if (frames!=0)
{
cvCreateTrackbar("Position", "Vedio", &g_slider_position, frames, OnTrackbarSlide);
}
IplImage *frame;
while (true)
{
frame = cvQueryFrame(g_capture);

if (!frame)
{
break;
}
g_slider_position = (int)cvGetCaptureProperty(g_capture, CV_CAP_PROP_POS_FRAMES);
cvSetTrackbarPos("Position", "Vedio", g_slider_position);
printf("%d",g_slider_position);
cvShowImage("Vedio", frame);
char c = cvWaitKey(33);
if (c == 27)break;
}
cvReleaseCapture(&g_capture);
cvDestroyWindow("Vedio");
return(0);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: