以下是我要运行的代码:
import numpy as np
mask = np.zeros(1400*2100, dtype=np.uint8)
np.reshape(mask,(1400,2100), order='F')
print(mask.shape)
输出结果为:
(2940000,)
我期望mask
重塑为(1400,2100)
。
我的代码有什么问题?
答案 0 :(得分:1)
np.reshape
操作根本不会修改mask
引用,而是会产生一个新数组。如果要为输入和结果使用相同的名称,则可以
mask = np.reshape(mask, (1400, 2100), order='F')
或者,稍短的
mask = mask.reshape((1400, 2100), order='F')
答案 1 :(得分:0)
您需要将np.reshape(mask,(1400,2100), order='F')
的输出重新分配给变量mask
:
mask=np.reshape(mask,(1400,2100), order='F')