我试图将视频文件的帧数保存到.txt文件中。例如,将帧编号从帧(0)保存到最后一帧。我可以显示视频文件的总帧数。
#include "opencv2/opencv.hpp"
#include <fstream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
// Open video file
VideoCapture video("2.avi");
double fps = video.get(CV_CAP_PROP_FPS);
double nframes = video.get(CAP_PROP_FRAME_COUNT);
cout << "Frames per second using video.get(CV_CAP_PROP_FPS) : " << fps << endl;
cout << "Frames count : " << nframes << endl;
ofstream myfile;
myfile.open ("example.txt");
for (int i=0;i<nframes;i++)
{
myfile<< "Frame Number= "<<";"<< i<< endl;
}
myfile.close();
video.release();
return 0;
}
答案 0 :(得分:2)
帧数
double nframes = video.get(CAP_PROP_FRAME_COUNT);
fps是每秒帧数,告诉你播放器显示视频的速度,如果你知道第一帧的时间,你可以计算时间。
要将数据写入文件,您应该搜索用c ++写入文件,并在Simple file write function in C++等答案中找到帮助