回答編集履歴
4
d
test
CHANGED
@@ -156,10 +156,12 @@
|
|
156
156
|
|
157
157
|
```python
|
158
158
|
|
159
|
+
import cv2
|
160
|
+
|
161
|
+
import matplotlib.pyplot as plt
|
162
|
+
|
159
163
|
import numpy as np
|
160
164
|
|
161
|
-
import cv2
|
162
|
-
|
163
165
|
|
164
166
|
|
165
167
|
# 全て0の128行列128列Xを作成#
|
@@ -210,8 +212,6 @@
|
|
210
212
|
|
211
213
|
|
212
214
|
|
213
|
-
import matplotlib.pyplot as plt
|
214
|
-
|
215
215
|
plt.imshow(img, cmap="gray")
|
216
216
|
|
217
217
|
plt.show()
|
3
d
test
CHANGED
@@ -184,14 +184,6 @@
|
|
184
184
|
|
185
185
|
|
186
186
|
|
187
|
-
# Xの最大値を255最小値を0正規化#
|
188
|
-
|
189
|
-
X[i, j] = np.dot(w, v)
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
187
|
def array_to_img(arr):
|
196
188
|
|
197
189
|
# [0, 1] にする
|
2
d
test
CHANGED
@@ -147,3 +147,81 @@
|
|
147
147
|
|
148
148
|
|
149
149
|
ベクトル [1, 1] とベクトル [1, 1] の内積は2なので、すべての要素が2なら真っ黒の画像になるのではないでしょうか?
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
## 追記
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
```python
|
158
|
+
|
159
|
+
import numpy as np
|
160
|
+
|
161
|
+
import cv2
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
# 全て0の128行列128列Xを作成#
|
166
|
+
|
167
|
+
X = np.zeros([128, 128], np.float32)
|
168
|
+
|
169
|
+
# 全て1の1行2列vを作成#
|
170
|
+
|
171
|
+
v = np.ones(2, np.float32)
|
172
|
+
|
173
|
+
# 全て1の1行2列vを作成#
|
174
|
+
|
175
|
+
w = np.ones(2, np.float32)
|
176
|
+
|
177
|
+
# w=[i][j]とした場合、forでiとjそれぞれ-64から63まで1づつ変化させwとvの内積をX[i,j]に代入#
|
178
|
+
|
179
|
+
for i in range(128):
|
180
|
+
|
181
|
+
for j in range(128):
|
182
|
+
|
183
|
+
X[i, j] = np.dot(v, w)
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
# Xの最大値を255最小値を0正規化#
|
188
|
+
|
189
|
+
X[i, j] = np.dot(w, v)
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
def array_to_img(arr):
|
196
|
+
|
197
|
+
# [0, 1] にする
|
198
|
+
|
199
|
+
arr = arr - arr.min()
|
200
|
+
|
201
|
+
if arr.max() != arr.min():
|
202
|
+
|
203
|
+
arr /= arr.max() - arr.min()
|
204
|
+
|
205
|
+
# [0, 255] にする
|
206
|
+
|
207
|
+
arr = (arr * 255).astype("uint8")
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
return arr
|
212
|
+
|
213
|
+
|
214
|
+
|
215
|
+
|
216
|
+
|
217
|
+
img = array_to_img(X)
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
import matplotlib.pyplot as plt
|
222
|
+
|
223
|
+
plt.imshow(img, cmap="gray")
|
224
|
+
|
225
|
+
plt.show()
|
226
|
+
|
227
|
+
```
|
1
d
test
CHANGED
@@ -116,7 +116,7 @@
|
|
116
116
|
|
117
117
|
|
118
118
|
|
119
|
-
5. 画像のインデックス
|
119
|
+
* 5. 画像のインデックス
|
120
120
|
|
121
121
|
|
122
122
|
|
@@ -132,13 +132,13 @@
|
|
132
132
|
|
133
133
|
for j in range(-64, 63):
|
134
134
|
|
135
|
-
X[i][j]
|
135
|
+
X[i][j] # エラー
|
136
136
|
|
137
137
|
```
|
138
138
|
|
139
139
|
|
140
140
|
|
141
|
-
6.
|
141
|
+
* 6. 出力される画像
|
142
142
|
|
143
143
|
|
144
144
|
|