当我使用matplotlib的imshow()方法来表示一个小的numpy矩阵时,它最终会在像素之间进行一些平滑处理。有没有办法禁用它?它使我的数字在演示文稿中误导。
上图是一个28x28的图像,所以我应该看到代表每个像素的单个颜色的大方块(当使用imagesc()时,matlab会显示它)。但相反,像素似乎与邻近像素模糊。有没有办法禁用这种行为?
答案 0 :(得分:48)
imshow
有一个插值选项,用于控制如何以及是否将插值应用于矩阵的渲染。如果你试试
imshow(array, interpolation="nearest")
你可能会得到更像你想要的东西。作为一个例子
A=10*np.eye(10) + np.random.rand(100).reshape(10,10)
imshow(A)
与
比较A=10*np.eye(10) + np.random.rand(100).reshape(10,10)
imshow(A, interpolation="nearest")
答案 1 :(得分:19)