【发布时间】:2018-12-04 15:24:50
【问题描述】:
我有一个名为的数组 形状为 (16,16,8,8) 的“foto_dct”,表示 8x8 的 16x16 矩阵。
当我打印 foto_dct[0,15] 时,我得到的第一行的最后一个矩阵:
array([[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0]])
当我做 foto_dct_big = np.reshape(foto_dct,(128,128)) 并打印 foto_dct_big 我明白了:
[[ 0 0 0 ... 49 148 245]
[ 0 16 0 ... 10 0 3]
[ 1 4 3 ... 148 137 128]
...
[ 0 0 0 ... 0 0 0]
[ 0 0 0 ... 0 0 0]
[ 0 0 0 ... 0 0 0]]
如您所见,右上角(应该是上面所有零的矩阵)被替换为不同的值。 这只是为了证明我确实得到了不同的值,矩阵的其他部分也是错误的。
为什么会发生这种情况,我该如何解决?
亲切的问候。
【问题讨论】:
标签: python python-3.x matrix reshape