回答編集履歴
3
ソースの修正
answer
CHANGED
@@ -6,20 +6,34 @@
|
|
6
6
|
cap.read()
|
7
7
|
continue
|
8
8
|
|
9
|
-
|
9
|
+
ret, image = cap.read()
|
10
|
+
if not ret:
|
11
|
+
break
|
12
|
+
|
10
13
|
cv2.imwrite(f'{dir_name}/{i}.png', frame)
|
11
14
|
```
|
12
15
|
|
16
|
+
空読み部分は次のように書いても可。
|
17
|
+
```Python
|
18
|
+
for _ in range(fps):
|
19
|
+
cap.read()
|
20
|
+
```
|
21
|
+
|
13
22
|
あるいは
|
14
23
|
---
|
15
24
|
プロパティ`CAP_PROP_POS_MSEC`を書き換えても良さそう。
|
16
25
|
ですが、OpenCVのプロパティが無視される環境があるので、なんとなく避けちゃいますね。
|
17
26
|
```Python
|
27
|
+
now_pos = 0
|
18
28
|
for i in range(5):
|
29
|
+
now_pos += 1000
|
19
30
|
cap.set(
|
20
|
-
cv2.CAP_PROP_POS_MSEC,
|
31
|
+
cv2.CAP_PROP_POS_MSEC, now_pos
|
21
|
-
cap.get(cv2.CAP_PROP_POS_MSEC) + 1000
|
22
32
|
)
|
33
|
+
|
23
|
-
|
34
|
+
ret, frame = cap.read()
|
35
|
+
if not ret:
|
36
|
+
break
|
37
|
+
|
24
38
|
cv2.imwrite(f'{dir_name}/{i}.png', frame)
|
25
39
|
```
|
2
追記
answer
CHANGED
@@ -10,6 +10,16 @@
|
|
10
10
|
cv2.imwrite(f'{dir_name}/{i}.png', frame)
|
11
11
|
```
|
12
12
|
|
13
|
+
あるいは
|
13
14
|
---
|
14
15
|
プロパティ`CAP_PROP_POS_MSEC`を書き換えても良さそう。
|
15
|
-
ですが、OpenCVのプロパティが無視される環境があるので、なんとなく避けちゃいますね。
|
16
|
+
ですが、OpenCVのプロパティが無視される環境があるので、なんとなく避けちゃいますね。
|
17
|
+
```Python
|
18
|
+
for i in range(5):
|
19
|
+
cap.set(
|
20
|
+
cv2.CAP_PROP_POS_MSEC,
|
21
|
+
cap.get(cv2.CAP_PROP_POS_MSEC) + 1000
|
22
|
+
)
|
23
|
+
_, frame = cap.read()
|
24
|
+
cv2.imwrite(f'{dir_name}/{i}.png', frame)
|
25
|
+
```
|
1
追記
answer
CHANGED
@@ -8,4 +8,8 @@
|
|
8
8
|
|
9
9
|
_, image = cap.read()
|
10
10
|
cv2.imwrite(f'{dir_name}/{i}.png', frame)
|
11
|
-
```
|
11
|
+
```
|
12
|
+
|
13
|
+
---
|
14
|
+
プロパティ`CAP_PROP_POS_MSEC`を書き換えても良さそう。
|
15
|
+
ですが、OpenCVのプロパティが無視される環境があるので、なんとなく避けちゃいますね。
|