我正在用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,并且可能需要更高,这取决于你将如何显示图像。