私はビデオファイルを読んでいて、イメージの処理をしていなくてもファイルの実際のFPS(10 Fの59 FPS)より遅いです:opencvでファイルからビデオキャプチャでFPSを変更
using namespace cv;
using namespace std;
// Global variables
UMat frame; //current frame
int main(int argc, char** argv)
{
VideoCapture capture("myFile.MP4");
namedWindow("Frame");
capture.set(CAP_PROP_FPS, 120); //not changing anything
cout>>capture.get(CAP_PROP_FPS);
while (charCheckForEscKey != 27) {
capture >>frame;
if (frame.empty())
break;
imshow("Frame", frame);
}
}
は、私はそれがファイルのFPSを変更しない120にCAP_PROP_FPSを設定しようとした場合でも、私は(CAP_PROP_FPS)を取得するとき私はまだ... 59.9を取得し、私は、ビデオの実際を読み
結果は多かれ少なかれ54FPS(UMatを使用していても)です。
より高いFPSレートでファイルを読み取る方法はありますか?
私もOpenCVのQ &ウェブサイト上で、彼の質問をし:http://answers.opencv.org/question/117482/change-fps-on-video-capture-from-file/
は私のコンピュータが遅すぎるという理由だけでそれですか?
インターネットで「ダブルバッファリング」を検索します。これは、別のスレッドがバッファを読み取っているときに、あるスレッドがバッファを書き込んでいる概念です。複数のバッファを使用して速度を調整できます。 –
ファイルから読み込むFPSは、使用するメタデータに過ぎません。'VideoCapture'はできるだけ早くフレームをデコードします。 –
@ThomasMatthewsありがとう私は –