回答編集履歴

1

ソースの追加

2016/12/02 13:25

投稿

MasahikoHirata
MasahikoHirata

スコア3747

test CHANGED
@@ -1 +1,41 @@
1
1
  ソースが開示されたので、このソースの処理では、ビデオ入力として1コマを入力して、それを表示の繰り返し。つまり、動画の場合は表示を止めても映像は流れていきます。表示を再開してもそこからサンプリングされた映像を表示。もし続きを再生したい場合は映像をバッファリングしないと。続きからでなく一旦停止から、現在の映像を表示なら二重ループを構成して、サンプリング、表示のループの外に、さらにループでそのループを呼べばOKです。
2
+
3
+ ```C
4
+
5
+ VideoCapture video("test.mp4");
6
+
7
+
8
+
9
+ namedWindow("window", WINDOW_AUTOSIZE);
10
+
11
+ while(1) {
12
+
13
+ while (1) {
14
+
15
+ Mat frame;
16
+
17
+ video >> frame;
18
+
19
+
20
+
21
+ if (waitKey(30) >= 's' || ) { // 's'が押されたら一時停止
22
+
23
+ break;
24
+
25
+ }
26
+
27
+ if(!frame.empty()&&video.get(CV_CAP_PROP_POS_AVI_RATIO) != 1)
28
+
29
+ imshow("window", frame);
30
+
31
+ }
32
+
33
+ if(waitKey(0) == 'q') // 'q'が押されたら終了。それ以外で再生再開。キーを押されるまで停止。
34
+
35
+ break;
36
+
37
+ }
38
+
39
+ ```
40
+
41
+