回答編集履歴
1
ソースの追加
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
|
+
|