質問編集履歴

1

マスク画像が作成できるようになったが違う画像で試してみるとうまくいかない

2019/07/10 00:57

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -6,23 +6,9 @@
6
6
 
7
7
  ### 発生している問題・エラーメッセージ
8
8
 
9
- 下記エラーが出てプログラム実行できません。
9
+ 解答していただいた方おかげで、マスク画像作成できるようになったのですが、別の画像で試した見た結果正しくマスク画像が生成されませんでした
10
10
 
11
- ```
12
-
13
- Traceback (most recent call last):
14
-
15
- File "hogehoge.py", line 27, in <module>
16
-
17
- maskgenerate(img)
18
-
19
- File "hogehoge.py", line 20, in maskgenerate
20
-
21
- mask = cv2.fillConvexPoly(back, cont, color=(255, 255, 255))
11
+ エッジ検出がうまくいっていたので、輪郭抽出部分・マスク画像作成部分に原因があるのは確かなのですが、理由がわかりません。
22
-
23
- TypeError: points is not a numpy array, neither a scalar
24
-
25
- ```
26
12
 
27
13
 
28
14
 
@@ -70,17 +56,23 @@
70
56
 
71
57
  cont = contourprocess(cannyprocess(img))
72
58
 
73
- mask = cv2.fillConvexPoly(back, cont, color=(255, 255, 255))
59
+ mask = cv2.fillConvexPoly(back, cont[0], color=(255, 255, 255))
60
+
61
+ cv2.imwrite("mask\mask.png",mask)
74
62
 
75
63
  return mask
64
+
65
+
76
66
 
77
67
  #関数定義
78
68
 
79
69
 
80
70
 
81
- img = cv2.imread("base\hugu.png",0)#元画像読み込み
71
+ img = cv2.imread("base\hurricane_1e8e060c71635d9c72b776820991d419.png",0)#元画像読み込み
82
72
 
83
73
 
74
+
75
+ #print(contourprocess(cannyprocess(img)))
84
76
 
85
77
 
86
78