質問編集履歴

1

コードの改善 新たな質問の追加

2020/06/19 02:24

投稿

rep0
rep0

スコア1

test CHANGED
File without changes
test CHANGED
@@ -75,3 +75,109 @@
75
75
 
76
76
 
77
77
  内積と正規化の方法が間違っているのでしょうか。教えていただきたいです。
78
+
79
+
80
+
81
+
82
+
83
+ <変更後>
84
+
85
+
86
+
87
+ import numpy as np
88
+
89
+ import cv2
90
+
91
+
92
+
93
+ X=np.zeros([128,128],np.float32)
94
+
95
+ #要素がすべて1の2行行列v、wを作成#
96
+
97
+ v=np.ones([2,1],np.float32)
98
+
99
+
100
+
101
+ w=np.ones([2,1],np.float32)
102
+
103
+
104
+
105
+ #w=[i][j]とした場合、forでiとjそれぞれ-64から63まで1づつ変化#
106
+
107
+ i=w[:,0]
108
+
109
+
110
+
111
+ j=w[0,:]
112
+
113
+
114
+
115
+ for i in range(-64,63):
116
+
117
+ for j in range(-64,63):
118
+
119
+ #wとvの内積をX[i,j]に代入#
120
+
121
+
122
+
123
+ np.dot(w,v,out = X[i][j])
124
+
125
+
126
+
127
+ #Xの要素の最大値255,最小値0となるようにXを正規化#
128
+
129
+ np.clip(X,0,255)
130
+
131
+
132
+
133
+ #Xを表示#
134
+
135
+ cv2.imshow(X)
136
+
137
+ cv2.waitKey(0)
138
+
139
+
140
+
141
+ 先ほどのエラーは解消されましたありがとうございます。
142
+
143
+ 他に3つ質問がございます。
144
+
145
+ 〇1個目
146
+
147
+ 変更後のコードだと
148
+
149
+ line 19, in <module>
150
+
151
+ np.dot(w,v,out = X[i][j])
152
+
153
+
154
+
155
+ File "<__array_function__ internals>", line 6, in dot
156
+
157
+
158
+
159
+ TypeError: 'out' must be an array
160
+
161
+ のようなエラーが出てきます。
162
+
163
+ どのように改善したらよいでしょうか
164
+
165
+
166
+
167
+ 〇2個目
168
+
169
+ w=[i][j]としたときの
170
+
171
+ i=w[:,0]
172
+
173
+
174
+
175
+ j=w[0,:]
176
+
177
+ は正しいでしょうか。
178
+
179
+
180
+
181
+ 〇3個目
182
+
183
+ このコードが正しく実行された場合どのような画像が表示されるでしょうか。