今天学习了一下关于使用Opencv播放视频,总的来说还是很简单的。目前我使用的是Opencv中的C语言风格接口函数。需要注意的是输入文件地址需要打两个反斜杠才是能形成转义字符,否则视频文件读取会失败,另外视频播放文件的格式也必须是xvid格式,如果不是还需要在网上下载一个软件对视频文件进行格式转换。
代码如下,注释已经写得十分详细,就不多罗嗦了。
#include "stdafx.h"
#include "cxcore.h"
#include "highgui.h"
#include "cv.h"
using namespace cv;
int sliderPos = 0; //设置视频播放位置全局变量
CvCapture *cap = NULL;//设置视频指针全局变量
//回调函数
void onTrackBarSlide(int pos){
cvSetCaptureProperty(cap,CV_CAP_PROP_POS_FRAMES,pos);
}
int _tmain(int argc, _TCHAR* argv[])
{
cvNamedWindow("Video",CV_WINDOW_AUTOSIZE);
cap = cvCreateFileCapture("D:\\a.avi");
int frames = (int) cvGetCaptureProperty(cap,CV_CAP_PROP_FRAME_COUNT);//获取视频的总帧数
if (frames != 0){
cvCreateTrackbar("Position","Video",&sliderPos,frames,onTrackBarSlide);//创建滚动条
}
IplImage *frame;
while(1){
frame = cvQueryFrame(cap);