与OpenCV相比,Matplotlib显示出低质量

时间:2015-06-29 16:18:11

标签: opencv matplotlib

我正在用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 write方法相同。

1 个答案:

答案 0 :(得分:2)

你的数字太大了。 img.shape返回img中的行数和列数,但figsize使用英寸。

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