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

回答編集履歴

1

肝心の回答がずれていたため修正

2019/12/28 00:40

投稿

退会済みユーザー
answer CHANGED
@@ -20,16 +20,29 @@
20
20
  area.append(cv2.contourArea(contour))
21
21
  idx = area.index(max(area))
22
22
 
23
+ # マスクを作る
24
+ img_mask = np.zeros_like(img)
25
+ img_mask = cv2.fillPoly(img_mask, [contours[idx]],(255))
26
+ cv2.imshow("img_mask",img_mask)
27
+
28
+ # マスクに従ってノイズを消す
29
+ img_mod[img_mask==0] = 0
30
+ cv2.imshow("img_mod",img_mod)
31
+
32
+
23
33
  # とりあえず線を引く
24
34
  # img_mod = cv2.drawContours(img, contours, -1, (128), 3)
25
35
 
26
36
  # 最大値に線を引く
27
- img_mod = cv2.polylines(img, [contours[idx]],True,(128), thickness=3)
37
+ # img_mod = cv2.polylines(img, [contours[idx]],True,(128), thickness=3)
28
- cv2.imshow("img_mod",img_mod)
38
+ # cv2.imshow("img_mod",img_mod)
29
- cv2.waitKey(0)
39
+ # cv2.waitKey(0)
40
+
30
41
  cv2.imwrite("img_mod.png",img_mod)
31
-
42
+ cv2.imwrite("img_mask.png",img_mask)
32
43
  ```
44
+ マスク画像
45
+ ![イメージ説明](9ac95476608d0edec386539332a56a02.png)
33
46
 
47
+ ノイズ塗りつぶし
34
- ![灰色部分が輪郭です](eb38d81382a52292493fdae9bda38e13.png)
48
+ ![イメージ説明](223d949fcd2afeaa13f4be8d144b59e8.png)
35
- 灰色部分の線が輪郭です。