问问题
32151 次
3 回答
43
这就是图像保存为 dna = mahotas.imread('dna.jpeg') type(dna) 给出 numpy.ndarray 和 dna.shape 给出 (1024, 1344, 1)
这就是问题所在,如果您通过 3D ndarray
,它预计您将有 3 或 4 个平面(RGB 或 RGBA)(阅读堆栈跟踪最后一帧中第 410 行的代码)。
你只需要摆脱额外的维度使用
dna = dna.squeeze()
或者
imshow(dna.squeeze())
要查看squeeze
正在执行的操作,请参见以下示例:
a = np.arange(25).reshape(5, 5, 1)
print a.shape # (5, 5, 1)
b = a.squeeze()
print b.shape # (5, 5)
于 2013-02-21T17:42:26.120 回答
0
从v3.3开始,不再引发此错误,因为大小为 MxNx1 的 3d 数组现在被强制转换为 MxN 进行显示。
于 2021-03-24T21:27:05.617 回答
0
import matplotlib.pyplot as plt
plt.imshow(img.reshape(48, 48)) # for example: 48
于 2021-08-23T02:40:51.613 回答