Python Matplotlib输出图像质量

Python Matplotlib输出图像质量,python,matplotlib,Python,Matplotlib,将png图像转换为numpy数组并返回png图像后,质量会降低。如果单击第二个图像,可以看到它的全尺寸。我认为问题在于,在查看转换后的图像时,没有激活抗锯齿或其他过滤器 转换前: 转换后: 我试过: plt.imshow(img2, cmap = 'gray') plt.plot(aa = True) plt.show() 激活抗锯齿,但似乎没有任何改变。有没有办法让第二张图片和第一张一样漂亮?嗯,我想我找到了最简单的方法 img1 = plt.imread(impath1, format

将png图像转换为numpy数组并返回png图像后,质量会降低。如果单击第二个图像,可以看到它的全尺寸。我认为问题在于,在查看转换后的图像时,没有激活抗锯齿或其他过滤器

转换前:

转换后:

我试过:

plt.imshow(img2, cmap = 'gray')
plt.plot(aa = True)
plt.show()

激活抗锯齿,但似乎没有任何改变。有没有办法让第二张图片和第一张一样漂亮?

嗯,我想我找到了最简单的方法

img1 = plt.imread(impath1, format = 'int32')
plt.imsave('test.png', img1, cmap = 'gray')

生成完全相同的图像。

绘图有两个参数,也适用于图像。你应该看看:
figsize
dpi
。我不知道为什么,但matplotlib将图像分辨率从704x490降低到562x394。我可以
plt.savefig('file.png',bbox_inches='tight',dpi=125)
生成703x493分辨率的图像。这已经足够好了,有没有办法在转换过程中保持我的图像分辨率?@ArturMüllerRomanov 1。你的图像有DPI96,这就足够了。2.要保存图像分辨率,请隐藏记号等。请选中。