回答編集履歴
5
訂正版
answer
CHANGED
@@ -1,1 +1,18 @@
|
|
1
|
-
# 勘違いぽい回答をしてしまったのでいったん削除・・・すみません
|
1
|
+
# 勘違いぽい回答をしてしまったので当初の回答は、いったん削除・・・すみません
|
2
|
+
|
3
|
+
理屈がわかってなくて対症療法的なので、回答としては非常にダメな感じですが、、
|
4
|
+
このようにしてみたら、左上のランプのところが検出されるようにはなりますね・・・。
|
5
|
+
(下の方の赤いバーが検出はされてるが、面積が減った)
|
6
|
+
|
7
|
+
```py
|
8
|
+
mask[(h > 240) & ((100 < s) & (s < 200))] = 255
|
9
|
+
↓↓↓
|
10
|
+
mask[(h > 240) & ((128 < s) & (s < 200))] = 255
|
11
|
+
```
|
12
|
+
|
13
|
+
128 にしたのは、下記リンクの下記の記載を信じてみたもの。
|
14
|
+
参考になるでしょうか。
|
15
|
+
|
16
|
+
> ここでは、赤色の判定なので、Sの値が (S > 128) である事を条件として付け加えましょう。
|
17
|
+
|
18
|
+
[https://qiita.com/odaman68000/items/ae28cf7bdaf4fa13a65b](https://qiita.com/odaman68000/items/ae28cf7bdaf4fa13a65b)
|
4
勘違いぽい回答をしてしまったのでいったん削除・・・すみません
answer
CHANGED
@@ -1,7 +1,1 @@
|
|
1
|
-

|
2
|
-
|
3
|
-
|
1
|
+
# 勘違いぽい回答をしてしまったのでいったん削除・・・すみません
|
4
|
-
想定の範囲内に見えます。
|
5
|
-
|
6
|
-
R: 75 G: 34 B: 43
|
7
|
-
H: 245 S: 38 V: 21
|
3
(質問文について理解を間違えていたので書き換えました)
answer
CHANGED
@@ -1,29 +1,7 @@
|
|
1
|
-
|
1
|
+

|
2
2
|
|
3
|
-
|
3
|
+
赤い帯状のところの色を見ると、下記なので、
|
4
|
-
|
4
|
+
想定の範囲内に見えます。
|
5
5
|
|
6
|
-
下記は、質問文のスクリーンショット撮った画像で実行してみた結果ですが、
|
7
|
-
「誤認識」と言っているのは、どの部分を言ってますか?
|
8
|
-
|
9
|
-
赤い部分を取り出したいということであれば、間違ってないように見えますが。
|
10
|
-
|
11
|
-

|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
※ 動作確認のために、下記だけ直して実行してみています。
|
16
|
-
|
17
|
-
|
18
|
-
```py
|
19
|
-
mask, contours, hierarchy = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
|
20
|
-
↓↓↓
|
21
|
-
contours, hierarchy = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
|
22
|
-
```
|
23
|
-
|
24
|
-
```py
|
25
|
-
|
6
|
+
R: 75 G: 34 B: 43
|
26
|
-
rect = max(rects, key=(lambda x: x[2] * x[3]))
|
27
|
-
↓↓↓
|
28
|
-
|
7
|
+
H: 245 S: 38 V: 21
|
29
|
-
```
|
2
訂正1
answer
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
※※ ちょっと質問文読み直して考えるので、いったんスルーしてください ※※
|
2
|
+
|
1
3
|
答えが出てるわけではないのでコメントの欄に書きたかったのですが、
|
2
4
|
画像が貼れないので回答欄に書きます。
|
3
5
|
|
1
一部間違えてたので編集
answer
CHANGED
@@ -24,6 +24,4 @@
|
|
24
24
|
rect = max(rects, key=(lambda x: x[2] * x[3]))
|
25
25
|
↓↓↓
|
26
26
|
for rect in rects:
|
27
|
-
cv2.rectangle(img, tuple(rect[0:2]), tuple(rect[0:2] + rect[2:4]), (0, 0, 255), thickness=2)
|
28
|
-
|
29
27
|
```
|