// opencvhello.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
#include
int AVI_position = 0; //当前播放到的位置
CvCapture* new_capture = NULL;
void on_track_bar_slide(int pos)
{
cvSetCaptureProperty(new_capture, CV_CAP_PROP_POS_FRAMES, pos);
}
int _tmain(int argc, _TCHAR* argv[])
{
new_capture = cvCreateFileCapture("影片名称.avi");
int frames = (int) cvGetCaptureProperty(new_capture, CV_CAP_PROP_FRAME_COUNT); //得到总帧数
int fps = (int) cvGetCaptureProperty(new_capture, CV_CAP_PROP_FPS); //获得帧率
cvNamedWindow("AVI Player", CV_WINDOW_AUTOSIZE);
if (frames != 0){
cvCreateTrackbar("postion", "AVI Player", &AVI_position, frames, on_track_bar_slide); //创建一个进度条
}
IplImage* frame;
frames =0;
while(1)
{
frame = cvQueryFrame(new_capture);
if(!frame) break;
cvShowImage("AVI Player", frame);
cvSetTrackbarPos("postion", "AVI Player",AVI_position++);
char c = cvWaitKey(int(1000/fps)); //1000毫秒29帧图像
if (c == 27 ) break; //按ESC退出
}
AVI_position =0;
cvReleaseCapture(&new_capture);
cvDestroyWindow("AVI Player");
return 0;
}
这段代码是学习OpenCV上面的代码,感觉利用OpenCV还是有很大的便利性的。