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

回答編集履歴

1

2021/08/26 21:52

投稿

退会済みユーザー
answer CHANGED
@@ -1,7 +1,6 @@
1
- |生画像|加工画像|
1
+ |生画像|加工画像|加工画像2(BGの塗りつぶし)|
2
- |:--:|:--:|
2
+ |:--:|:--:|:--:|
3
- |![イメージ説明](a9aec187f78a5b0be5c8b8b3c1d7c649.png)|![イメージ説明](8c14d3e8f97528cd27cb20bb3ba03628.png)
3
+ |![イメージ説明](a9aec187f78a5b0be5c8b8b3c1d7c649.png)|![イメージ説明](8c14d3e8f97528cd27cb20bb3ba03628.png)|![イメージ説明](bfc9082555b0484e7b945c1a1851db0f.png)|
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]`を入れてください。