回答編集履歴

2

d

2019/12/02 04:34

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -142,6 +142,6 @@
142
142
 
143
143
 
144
144
 
145
- cv2.imshow('red', frame)
145
+ cv2.imshow('red', frame)
146
146
 
147
147
  ```

1

d

2019/12/02 04:34

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -109,3 +109,39 @@
109
109
  ※1: `mask[(h > 170)] = 255` の部分は抽出したい色に応じて変更してください。
110
110
 
111
111
  ※2: `1000 <= cv2.contourArea(x) <= 5000` の部分は抽出したい面積の範囲に応じて変更してください。
112
+
113
+
114
+
115
+ ## 動画が流れない問題について
116
+
117
+
118
+
119
+ > 動画が流れるわけでもなく、どのキーを押しても反応しなくなりました。
120
+
121
+
122
+
123
+ cv2.imshow() が while ループの外にあるので、動画は表示されません。
124
+
125
+ ループの中に入れるべきだと思います。
126
+
127
+
128
+
129
+ ```python
130
+
131
+ while cv2.waitKey(30) < 0:
132
+
133
+ _, frame = capture.read()
134
+
135
+ rects = find_rect_of_target_color(frame)
136
+
137
+ if len(rects) > 0:
138
+
139
+ rect = max(rects, key=(lambda x: x[2] * x[3]))
140
+
141
+ cv2.rectangle(frame, tuple(rect[0:2]), tuple(rect[0:2] + rect[2:4]), (0, 0, 255), thickness=2)
142
+
143
+
144
+
145
+ cv2.imshow('red', frame)
146
+
147
+ ```