質問編集履歴
2
コードの文体の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
それと、途中までのコードで画像をtrimapという前景が白、後景が黒、どちらかわからない部分が灰色という風に変換する部分があるのですが、そのtrimapの画像が黒と灰色しか出ません。その結果として最終的に作られた画像が、背景が消えてはいるのですが、残したい部分も薄くなります。←上記のattributeErrorがでるまではこのような形で出力されていました。
|
16
16
|
|
17
|
-
|
17
|
+
```ここに言語を入力
|
18
18
|
|
19
19
|
#ライブラリインポート
|
20
20
|
|
@@ -32,6 +32,8 @@
|
|
32
32
|
|
33
33
|
|
34
34
|
|
35
|
+
|
36
|
+
|
35
37
|
#画像読み込み
|
36
38
|
|
37
39
|
img = cv2.imread("upperbody1.jpg")
|
@@ -44,7 +46,7 @@
|
|
44
46
|
|
45
47
|
|
46
48
|
|
47
|
-
|
49
|
+
|
48
50
|
|
49
51
|
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
|
50
52
|
|
@@ -57,8 +59,6 @@
|
|
57
59
|
model.eval()
|
58
60
|
|
59
61
|
|
60
|
-
|
61
|
-
#正規化,バッチの追加
|
62
62
|
|
63
63
|
preprocess = transforms.Compose([
|
64
64
|
|
@@ -88,7 +88,19 @@
|
|
88
88
|
|
89
89
|
img = cv2.resize(img,(w,h))
|
90
90
|
|
91
|
-
cv2.imwrite(
|
91
|
+
cv2.imwrite('./examples/trimaps/picture.jpg',mask)
|
92
|
+
|
93
|
+
henkan = cv2.imread("./examples/trimaps/picture.jpg")
|
94
|
+
|
95
|
+
black = [0, 0, 0]
|
96
|
+
|
97
|
+
white = [255, 255, 255]
|
98
|
+
|
99
|
+
henkan[np.where((henkan != black).all(axis=2))] = white
|
100
|
+
|
101
|
+
cv2.imwrite("./examples/trimaps/henkan.jpg",henkan)
|
102
|
+
|
103
|
+
|
92
104
|
|
93
105
|
|
94
106
|
|
@@ -100,53 +112,13 @@
|
|
100
112
|
|
101
113
|
plt.subplot(1,2,2)
|
102
114
|
|
103
|
-
plt.imshow(mask)
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
#モルフォロジー変換による膨張収縮処理
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
def gen_trimap(mask,k_size=(5,5),ite=1):
|
114
|
-
|
115
|
-
kernel = np.ones(k_size,np.uint8)
|
116
|
-
|
117
|
-
eroded = cv2.erode(mask,kernel,iterations = ite)
|
118
|
-
|
119
|
-
dilated = cv2.dilate(mask,kernel,iterations = ite)
|
120
|
-
|
121
|
-
trimap = np.full(mask.shape,128)
|
122
|
-
|
123
|
-
trimap[eroded == 255] = 255
|
124
|
-
|
125
|
-
trimap[dilated == 0] = 0
|
126
|
-
|
127
|
-
return trimap
|
128
|
-
|
129
|
-
trimap = gen_trimap(mask,k_size=(10,10),ite=5)
|
130
|
-
|
131
|
-
cv2.imwrite('./examples/trimaps/picture.jpg',trimap)
|
132
|
-
|
133
|
-
plt.figure(figsize=(20,20))
|
134
|
-
|
135
|
-
plt.subplot(1,2,1)
|
136
|
-
|
137
|
-
plt.imshow(img)
|
138
|
-
|
139
|
-
plt.subplot(1,2,2)
|
140
|
-
|
141
|
-
plt.imshow(
|
115
|
+
plt.imshow(henkan)
|
142
116
|
|
143
117
|
plt.show()
|
144
118
|
|
145
119
|
|
146
120
|
|
147
121
|
|
148
|
-
|
149
|
-
#-----------------------
|
150
122
|
|
151
123
|
|
152
124
|
|
@@ -190,6 +162,12 @@
|
|
190
162
|
|
191
163
|
|
192
164
|
|
165
|
+
```
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
|
193
171
|
書き忘れていましたが環境は
|
194
172
|
|
195
173
|
windows10
|
1
環境について
test
CHANGED
File without changes
|
test
CHANGED
@@ -187,3 +187,15 @@
|
|
187
187
|
cv2.waitKey(0)
|
188
188
|
|
189
189
|
cv2.destroyAllWindows()
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
書き忘れていましたが環境は
|
194
|
+
|
195
|
+
windows10
|
196
|
+
|
197
|
+
python3.9.6 64bit版
|
198
|
+
|
199
|
+
opencv
|
200
|
+
|
201
|
+
です。
|