Matplotlib imshow与OpenCV相比质量较低



我正在用python进行一些计算机视觉,所以我同时使用opencv和matplotlib。我想切换到matplotlib查看图像,但我发现与OpenCV imshow相比,图像质量较低,而且图像在屏幕上显示的尺寸不合适,它们都是相同的尺寸。

这就是我使用的方式

img = cv2.imread('a.png',0)
f = plt.figure(figsize=(img.shape[1],img.shape[0]), dpi=1)
plt.axes([0,0,1,1])
plt.axis('false')
plt.imshow(img,cmap="gray",interpolation=None)

我尝试了使用不同的插值值,但与opencv相比,质量仍然很低。是否可以显示质量更好的图像?

此外,当打印时,我得到了同样的低质量,不像opencv写方法。

您使图形尺寸过大。img.shape返回img中的行数和列数,但figsize使用英寸。

此外,您可能希望图形具有与dpi=1不同的分辨率。每英寸的点应该更像80,并且可能需要更高,这取决于你将如何显示图像。

相关内容

  • 没有找到相关文章

最新更新