当我使用matplotlib的imshow()方法来表示一个小的numpy矩阵时,它最终会在像素之间做一些平滑处理。有什么办法可以禁用它吗?这会让我的数字在演示中产生误导。 防止在matplotlib中imshow的反锯齿
上面的图是一个28x28图像,所以我应该看到的表示每个像素的颜色单一大正方形(使用于imagesc(当如MATLAB将显示它))。但相反,像素似乎与邻近的像素模糊。有没有办法禁用这种行为?
当我使用matplotlib的imshow()方法来表示一个小的numpy矩阵时,它最终会在像素之间做一些平滑处理。有什么办法可以禁用它吗?这会让我的数字在演示中产生误导。 防止在matplotlib中imshow的反锯齿
上面的图是一个28x28图像,所以我应该看到的表示每个像素的颜色单一大正方形(使用于imagesc(当如MATLAB将显示它))。但相反,像素似乎与邻近的像素模糊。有没有办法禁用这种行为?
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")
谢谢,这似乎工作。出于好奇,为什么它被称为“最接近”的插值?本页面上的文档:http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.imshow没有描述“最接近”的功能。 –
说实话,我不知道。在开发树中,现在还有一个'interpolation =“none”'选项,它的功能几乎相同。 [这个例子](http://matplotlib.sourceforge.net/examples/pylab_examples/image_interp.html)提供了关于'interpolation =“nearest”'试图实现什么的更多信息。 – talonmies
它可能试图从“最近的”邻居抽样?在显示像素的附近 – DrSAR