質問編集履歴
2
「別のPythonプログラムの実行結果」を追記しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -72,7 +72,11 @@
|
|
72
72
|
|
73
73
|
デバイスマネージャ→カメラで、HD USB Cameraは3台とも正常動作していることを確認しました。
|
74
74
|
|
75
|
-
[別のPythonプログラム](https://qiita.com/Gyutan/items/79b26bc8e97ee365c6c8)
|
75
|
+
[別のPythonプログラム](https://qiita.com/Gyutan/items/79b26bc8e97ee365c6c8)を実行した結果は以下の通りです。
|
76
|
+
port number 0 Find!
|
77
|
+
port number 1 Find!
|
78
|
+
port number 2 Find!
|
79
|
+
Number of connected camera: 3
|
76
80
|
|
77
81
|
cv2.CAP_DSHOW(DirectShow)を明示的に指定して実行した結果、0と1には正しい画像が保存されていましたが、2には真っ暗な画像が保存されていました。ソースコードは以下の通りです。
|
78
82
|
|
1
cv2.CAP_DSHOW(DirectShow)を明示的に指定して実行した結果を追記しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -3,11 +3,6 @@
|
|
3
3
|
ウェブカメラ(0、1、2とします)は3台あって、各々PC本体のUSBポートまたはUSBハブに接続して使用します。
|
4
4
|
0と1をPC本体のUSBポートに、2をUSBハブに接続すると3つの画面を順番に保存することができました。
|
5
5
|
0をPC本体のUSBポートに、1と2をUSBハブに接続すると0と1の画面しか保存できず、2の画面は保存できず、下のようなエラーメッセージが出ました。原因と対策を教えてください。
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
6
|
|
12
7
|
|
13
8
|
### 発生している問題・エラーメッセージ
|
@@ -76,6 +71,30 @@
|
|
76
71
|
### 試したこと
|
77
72
|
|
78
73
|
デバイスマネージャ→カメラで、HD USB Cameraは3台とも正常動作していることを確認しました。
|
74
|
+
|
79
75
|
[別のPythonプログラム](https://qiita.com/Gyutan/items/79b26bc8e97ee365c6c8)で、「Number of connected camera: 3」であることを確認しました。
|
80
76
|
|
77
|
+
cv2.CAP_DSHOW(DirectShow)を明示的に指定して実行した結果、0と1には正しい画像が保存されていましたが、2には真っ暗な画像が保存されていました。ソースコードは以下の通りです。
|
81
78
|
|
79
|
+
```Python
|
80
|
+
def job():
|
81
|
+
for camera_number in range(0, 3):
|
82
|
+
# for windows -> cv2.CAP_DSHOW
|
83
|
+
cap = cv2.VideoCapture(camera_number,cv2.CAP_DSHOW)
|
84
|
+
ret, frame = cap.read()
|
85
|
+
|
86
|
+
if camera_number==0:
|
87
|
+
strdate0=datetime.datetime.now().strftime('%Y%m%dT%H%M%S.%f')
|
88
|
+
fname0=".\\files4\\"+"image0_" + strdate0 + ".png"
|
89
|
+
cv2.imwrite(fname0, frame)
|
90
|
+
|
91
|
+
elif camera_number==1:
|
92
|
+
strdate1=datetime.datetime.now().strftime('%Y%m%dT%H%M%S.%f')
|
93
|
+
fname1=".\\files4\\"+"image1_" + strdate1 + ".png"
|
94
|
+
cv2.imwrite(fname1, frame)
|
95
|
+
|
96
|
+
elif camera_number==2:
|
97
|
+
strdate2=datetime.datetime.now().strftime('%Y%m%dT%H%M%S.%f')
|
98
|
+
fname2=".\\files4\\"+"image2_" + strdate2 + ".png"
|
99
|
+
cv2.imwrite(fname2, frame)
|
100
|
+
```
|