OpenCV 读取视频,设置起始帧、结束帧及帧率获取

(1.1)简介

//OpenCV视频设置的一些参数
CV_CAP_PROP_POS_MSEC    //从文件开始的位置,单位为毫秒
CV_CAP_PROP_POS_FRAMES   //单位为帧数的位置(只对视频文件有效)
CV_CAP_PROP_POS_AVI_RATIO   // 视频文件的相对位置(0 - 影片的开始,1 - 影片的结尾)
CV_CAP_PROP_FRAME_WIDTH  //视频流的帧宽度(只对摄像头有效)
CV_CAP_PROP_FRAME_HEIGHT  //视频流的帧高度(只对摄像头有效)
CV_CAP_PROP_FPS  //帧率(只对摄像头有效)
CV_CAP_PROP_FOURCC  //表示codec的四个字符(只对摄像头有效)

(1.2)Mat类型

VideoCapture  capture(“1.avi”);
if (!capture.isOpened())
{
	return 0;
}
long totalFrameNumber=capture.get(CV_CAP_PROP_FRAME_COUNT);//获取视频的总帧数
long frameToStart = 300;
capture.set(CV_CAP_PROP_POS_FRAMES, frameToStart);         //设置开始帧

double rate = capture.get(CV_CAP_PROP_FPS);                //获取帧率  

(1.3)IplImage类型

CvCapture *capture = cvCreateFileCapture("./dji.mp4");
int fps = (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FPS);     #视频总帧
int frameNumber = 306;
cvSetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES, frameNumber);#设置视频读取位置

 

你可能感兴趣的:(OpenCV)