支持常见的视频格式:mp4 avi flash 甚至是 rtsp 实时流
每帧间隔超过 300ms 人眼就会认定为两张独立的图像,FPS 15 帧 20 帧 是可以接受的,最低甚至可以接受 5帧
代码:
#include <opencv2/opencv.hpp>
#include <opencv2/xfeatures2d.hpp>
#include<opencv2/face.hpp>
#include<iostream>
#include<math.h>
#include <string>
#include<fstream>
using namespace cv::face;
using namespace cv;
using namespace std;
using namespace cv::xfeatures2d;
int main()
{
//VideoCapture capture(0);
VideoCapture capture;
capture.open("C:/Users/Administrator/Desktop/pic/1.mp4");
double fps = capture.get(CV_CAP_PROP_FPS); // 获取视频帧率
double frameWidth = capture.get(CV_CAP_PROP_FRAME_WIDTH); // 获取视频帧的宽高
double frameHeight = capture.get(CV_CAP_PROP_FRAME_HEIGHT);
cout << "fps=" << fps << ", frameWidth=" << frameWidth << ", frameHeight=" << frameHeight << endl;
VideoWriter writer;
/*
bool open( // 打开要写的视频
const String& filename, // 要写入的路径
int apiPreference,
// fourcc为四个字符用来表示压缩帧的codec 例如:
CV_FOURCC('P','I','M','1') = MPEG-1 codec
CV_FOURCC('M','J','P','G') = motion-jpeg codec
CV_FOURCC('M', 'P', '4', '2') = MPEG-4.2 codec
CV_F