opencvで動画を再生させるときにキー入力によって再生する位置を変えようとしています。コードは以下のようになっています。エラーなく動きますがとても動画の速さが遅くなります。またキーを入力しても反応しないときがあります。動画がなめらかに動きキー入力で指定した通りのフレームの位置で動くようにするにはどうすればいいのでしょうか。
int main()
{
namedWindow("test", WINDOW_AUTOSIZE);
Mat frame;
VideoCapture video("abc.mp4");
for (int i = 0; i < max_frame; i++) { video >> frame; //1フレーム分取り出してimgに保持させる imshow("test", frame); waitKey(30);//表示のために1ms待つ if (waitKey(30) >= 'q') { video.set(CV_CAP_PROP_POS_FRAMES, 100); } if (waitKey(30) >= 'w') { video.set(CV_CAP_PROP_POS_FRAMES, 200); } if (waitKey(30) >= 'e') { video.set(CV_CAP_PROP_POS_FRAMES, 300); } if (waitKey(30) >= 'r') { video.set(CV_CAP_PROP_POS_FRAMES, 400); } if (waitKey(30) >= 't') { video.set(CV_CAP_PROP_POS_FRAMES, 500); } if (waitKey(30) >= 'y') { video.set(CV_CAP_PROP_POS_FRAMES, 600); } if (waitKey(30) >= 'u') { video.set(CV_CAP_PROP_POS_FRAMES, 700); } if (waitKey(30) >= 'i') { video.set(CV_CAP_PROP_POS_FRAMES, 800); } }
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/13 10:49
2016/12/13 13:24
2016/12/14 00:44