回答編集履歴
1
answer
CHANGED
@@ -1,7 +1,6 @@
|
|
1
|
-
|生画像|加工画像|
|
1
|
+
|生画像|加工画像|加工画像2(BGの塗りつぶし)|
|
2
|
-
|:--:|:--:|
|
2
|
+
|:--:|:--:|:--:|
|
3
|
-
||
|
3
|
+
||||
|
4
|
-
|
|
5
4
|
```Python3
|
6
5
|
import numpy as np
|
7
6
|
import cv2
|
@@ -20,6 +19,9 @@
|
|
20
19
|
# cv2.drawContoursについてのチュートリアル
|
21
20
|
# http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_imgproc/py_contours/py_contours_begin/py_contours_begin.html
|
22
21
|
|
22
|
+
# BGの塗りつぶし
|
23
|
+
# img_drawn[img_mask==0] = [0,255,0]
|
24
|
+
|
23
25
|
# 検出された"輪郭"を描画(本画像上に)
|
24
26
|
int_line_width = 10
|
25
27
|
img_drawn = cv2.drawContours(img_drawn, contours, -1, (0, 0, 255), int_line_width)
|
@@ -39,4 +41,8 @@
|
|
39
41
|
```
|
40
42
|
|
41
43
|
ドーナッツ画像がなかったので適当な四角での例を示します。
|
42
|
-
キモは`cv2.drawContours()`の最後の引数です。**マイナスを指定すると塗りつぶし**になります。
|
44
|
+
キモは`cv2.drawContours()`の最後の引数です。**マイナスを指定すると塗りつぶし**になります。
|
45
|
+
|
46
|
+
> 輪郭間を指定の色で塗りつぶしたい
|
47
|
+
|
48
|
+
ここでいう黒を塗りつぶしたい、であれば`img_drawn[img_mask==0] = [0,255,0]`を入れてください。
|