回答編集履歴
2
f
answer
CHANGED
@@ -86,8 +86,8 @@
|
|
86
86
|
|
87
87
|

|
88
88
|
|
89
|
+

|
89
90
|
|
90
|
-
|
91
91
|

|
92
92
|
|
93
93
|
切り出し後
|
1
f
answer
CHANGED
@@ -9,11 +9,15 @@
|
|
9
9
|

|
10
10
|
|
11
11
|
この今40となっている閾値は処理したい画像によって調整する必要があります。
|
12
|
-
|
12
|
+
大津の手法を使うとこのパラメータを自動で決められます。(必ずうまくいくとは限りません。うまくいかない場合は手動でこの値は決める必要があります。)
|
13
13
|
|
14
|
+
```python
|
15
|
+
ret, binary = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
|
16
|
+
print(ret) # 161
|
17
|
+
```
|
18
|
+
|
14
19
|

|
15
20
|
|
16
|
-
2値化は背景とそれ以外の物体を白黒で分ける処理なので、背景が異なる場合はそれに応じて変える必要があります。
|
17
21
|
|
18
22
|
## サンプルコード
|
19
23
|
|
@@ -29,8 +33,7 @@
|
|
29
33
|
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
|
30
34
|
|
31
35
|
# 2値化する。
|
32
|
-
# ★ 2値化の閾値は要調整
|
33
|
-
ret, binary = cv2.threshold(gray,
|
36
|
+
ret, binary = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
|
34
37
|
|
35
38
|
# 膨張処理
|
36
39
|
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (5, 5))
|