Пожалуйста, ознакомьтесь со следующим кодом.Запись видео слишком быстро
#include <iostream>
#include <opencv2/core/core.hpp>
#include <string>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/video/background_segm.hpp>
using namespace std;
using namespace cv;
double getMSE(const Mat& I1, const Mat& I2);
int main()
{
Mat current;
VideoCapture cam1;
VideoWriter *writer = new VideoWriter();
cam1.open(0);
namedWindow("Normal");
if(!cam1.isOpened())
{
cout << "Cam not found" << endl;
return -1;
}
cam1>>current;
Size *s = new Size((int)current.cols,current.rows);
writer->open("D:/OpenCV Final Year/OpenCV Video/MyVideo.avi",CV_FOURCC('D','I','V','X'),10,*s,true);
while(true)
{
//Take the input
cam1 >> current;
*writer << current;
imshow("Normal",current);
if(waitKey(30)>=0)
{
break;
}
}
}
Этот код работает нормально, никаких проблем. Но, когда я запускаю записанное видео, это супер быстро! Как быстро пересылается. Я действительно не понимаю, почему. Пожалуйста помоги.
Таким образом, некоторые кадры при сохранении опущены? –
Что такое «запуск» FPS? Если это 24, и вы сохраняете с 10, то он быстро пересылается множителем 2.4. –
Вы уверены, что частота кадров видеосигнала равна тем же, что и частота кадров для записи в веб-камеру? Возможно, что вы правильно сохранили все фреймы, но неправильно настроили выходную частоту кадров. –