質問編集履歴
5
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
3
|
python初心者です.
|
4
|
-
python opencvを使用して,usbハブに接続した
|
4
|
+
python opencvを使用して,usbハブに接続したusbカメラ2台以上から同時に映像を出力+録画を行うプログラムを作成したいのですがエラーをはいてしまいます.
|
5
5
|
最終的には8台ほど接続して同様のことを行いたいのでそちらにも応用できるとありがたいです.(その場合は帯域の問題がありますが)
|
6
6
|
|
7
7
|
### 発生している問題・エラーメッセージ
|
4
コードの見やすさの編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -17,6 +17,7 @@
|
|
17
17
|
|
18
18
|
|
19
19
|
### 該当のソースコード
|
20
|
+
```python
|
20
21
|
import cv2
|
21
22
|
import numpy as np
|
22
23
|
|
@@ -58,6 +59,7 @@
|
|
58
59
|
camera0.release()
|
59
60
|
camera1.release()
|
60
61
|
cv2.destroyAllWindows()
|
62
|
+
```
|
61
63
|
```ここに言語名を入力 python opencv
|
62
64
|
ソースコード
|
63
65
|
```
|
3
コードの見やすさの編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -39,15 +39,15 @@
|
|
39
39
|
|
40
40
|
# 撮影=ループ中にフレームを1枚ずつ取得(qキーで撮影終了)
|
41
41
|
while True:
|
42
|
-
|
42
|
+
ret0, frame0 = camera0.read() # フレームを取得
|
43
|
-
|
43
|
+
if (ret0 == True ) :
|
44
|
-
|
44
|
+
cv2.imshow('camera', frame0) # フレームを画面に表示
|
45
|
-
|
45
|
+
video.write(frame0) # 動画を1フレームずつ保存する
|
46
46
|
|
47
|
-
|
47
|
+
ret1, frame1 = camera1.read() # フレームを取得
|
48
|
-
|
48
|
+
if (ret1 == True ) :
|
49
|
-
|
49
|
+
cv2.imshow('camera1', frame1) # フレームを画面に表示
|
50
|
-
|
50
|
+
video1.write(frame1) # 動画を1フレームずつ保存する
|
51
51
|
|
52
52
|
|
53
53
|
# キー操作があればwhileループを抜ける
|
2
試行錯誤のあとが残っていたのでいらない部分を削除しました.
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
```
|
11
11
|
エラーメッセージ
|
12
12
|
Traceback (most recent call last):
|
13
|
-
File "C:\Users\
|
13
|
+
File "C:\Users*******\Documents******\python code\sample_code2dai.py", line 34, in <module>
|
14
14
|
cv2.imshow('camera1', frame1) # フレームを画面に表示
|
15
15
|
cv2.error: OpenCV(4.5.4-dev) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
|
16
16
|
```
|
1
試行錯誤のあとが残っていたのでいらない部分を削除しました.
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
|
-
|
3
|
+
python初心者です.
|
4
4
|
python opencvを使用して,usbハブに接続したysbカメラ2台以上から同時に映像を出力+録画を行うプログラムを作成したいのですがエラーをはいてしまいます.
|
5
5
|
最終的には8台ほど接続して同様のことを行いたいのでそちらにも応用できるとありがたいです.(その場合は帯域の問題がありますが)
|
6
6
|
|
@@ -20,7 +20,7 @@
|
|
20
20
|
import cv2
|
21
21
|
import numpy as np
|
22
22
|
|
23
|
-
camera0 = cv2.VideoCapture(1,cv2.CAP_DSHOW)
|
23
|
+
camera0 = cv2.VideoCapture(1,cv2.CAP_DSHOW) # カメラCh.(ここでは0)を指定
|
24
24
|
|
25
25
|
# 動画ファイル保存用の設定
|
26
26
|
fps = int(camera0.get(cv2.CAP_PROP_FPS)) # カメラのFPSを取得
|
@@ -29,9 +29,6 @@
|
|
29
29
|
fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v') # 動画保存時のfourcc設定(mp4用)
|
30
30
|
video = cv2.VideoWriter('video.mp4', fourcc, fps, (w, h)) # 動画の仕様(ファイル名、fourcc, FPS, サイズ)
|
31
31
|
|
32
|
-
#for i in range(30):
|
33
|
-
# ret, back = camera0.read() # 最初の1秒ほどフレームを捨てる (30fps)
|
34
|
-
|
35
32
|
camera1 = cv2.VideoCapture(2,cv2.CAP_DSHOW)
|
36
33
|
|
37
34
|
fps1 = int(camera1.get(cv2.CAP_PROP_FPS)) # カメラのFPSを取得
|
@@ -40,9 +37,6 @@
|
|
40
37
|
fourcc1 = cv2.VideoWriter_fourcc('m', 'p', '4', 'v') # 動画保存時のfourcc設定(mp4用)
|
41
38
|
video1 = cv2.VideoWriter('video1.mp4', fourcc1, fps, (w1, h1)) # 動画の仕様(ファイル名、fourcc, FPS, サイズ)
|
42
39
|
|
43
|
-
#for i in range(30):
|
44
|
-
# ret, back = camera1.read() # 最初の1秒ほどフレームを捨てる (30fps)
|
45
|
-
|
46
40
|
# 撮影=ループ中にフレームを1枚ずつ取得(qキーで撮影終了)
|
47
41
|
while True:
|
48
42
|
ret0, frame0 = camera0.read() # フレームを取得
|