gpt4 book ai didi

python - Matplotlib dpi 被忽略

转载 作者:太空宇宙 更新时间:2023-11-03 14:46:27 24 4
gpt4 key购买 nike

这不是重复的问题。我已经处理了执行一些 OpenCV 函数后获得的图像。我想以 1000 dpi 保存该文件,但它不起作用

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
plt.rcParams['savefig.dpi'] = 1000


#Then after some processing

mask = plt.read(mask)
plt.axis('off')
plt.imshow(mask,cmap='gray')


plt.savefig('D:/newapproach/T&Oplt.jpg',dpi=1000,bbox_inches='tight')
plt.show()

无论我指定多少 dpi,文件都会以 96 dpi 保存

最佳答案

问题中的代码运行良好。您可以通过简单地查看宽度和高度(以像素为单位)来进行验证,如果您没有更改图形大小(从上面的代码中无法得知),这应该在 ~4000 的范围内。

请注意,尽管一切都按预期工作,但某些图像查看器以及操作系统的属性对话框可能会显示 96dpi。这主要是因为 dpi 对于像素图像来说实际上并不是一个合理的数字。像素图像简单地由像素数定义,本质上没有诸如 dpi 之类的与之关联的东西。

您可能有一个选择是使用 PIL 打开保存的图像并再次保存,直接指定 dpi:

import numpy as np
import matplotlib.pyplot as plt

mask = np.random.rand(30,30)
plt.axis('off')
plt.imshow(mask,cmap='gray')

plt.savefig('figure.jpg',dpi=300,bbox_inches='tight')

from PIL import Image
im = Image.open('figure.jpg')
im.save('figure.jpg',dpi=[300,300])

plt.show()

关于python - Matplotlib dpi 被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46203650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com