teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

2021/12/20 07:46

投稿

sera
sera

スコア8

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
3
  python初心者です.
4
- python opencvを使用して,usbハブに接続したysbカメラ2台以上から同時に映像を出力+録画を行うプログラムを作成したいのですがエラーをはいてしまいます.
4
+ python opencvを使用して,usbハブに接続したusbカメラ2台以上から同時に映像を出力+録画を行うプログラムを作成したいのですがエラーをはいてしまいます.
5
5
  最終的には8台ほど接続して同様のことを行いたいのでそちらにも応用できるとありがたいです.(その場合は帯域の問題がありますが)
6
6
 
7
7
  ### 発生している問題・エラーメッセージ

4

コードの見やすさの編集

2021/12/20 07:46

投稿

sera
sera

スコア8

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

コードの見やすさの編集

2021/12/16 13:09

投稿

sera
sera

スコア8

title CHANGED
File without changes
body CHANGED
@@ -39,15 +39,15 @@
39
39
 
40
40
  # 撮影=ループ中にフレームを1枚ずつ取得(qキーで撮影終了)
41
41
  while True:
42
- ret0, frame0 = camera0.read() # フレームを取得
42
+ ret0, frame0 = camera0.read() # フレームを取得
43
- if (ret0 == True ) :
43
+ if (ret0 == True ) :
44
- cv2.imshow('camera', frame0) # フレームを画面に表示
44
+ cv2.imshow('camera', frame0) # フレームを画面に表示     
45
- video.write(frame0) # 動画を1フレームずつ保存する
45
+ video.write(frame0) # 動画を1フレームずつ保存する
46
46
 
47
- ret1, frame1 = camera1.read() # フレームを取得
47
+ ret1, frame1 = camera1.read() # フレームを取得
48
- if (ret1 == True ) :
48
+ if (ret1 == True ) :
49
- cv2.imshow('camera1', frame1) # フレームを画面に表示
49
+ cv2.imshow('camera1', frame1) # フレームを画面に表示
50
- video1.write(frame1) # 動画を1フレームずつ保存する
50
+ video1.write(frame1) # 動画を1フレームずつ保存する
51
51
 
52
52
 
53
53
  # キー操作があればwhileループを抜ける

2

試行錯誤のあとが残っていたのでいらない部分を削除しました.

2021/12/16 09:40

投稿

sera
sera

スコア8

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\Hikaru\Documents\研究室のやつ\python code\sample_code2dai.py", line 34, in <module>
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

試行錯誤のあとが残っていたのでいらない部分を削除しました.

2021/12/16 09:09

投稿

sera
sera

スコア8

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) # カメラCh.(ここでは0)を指定
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() # フレームを取得