gpt4 book ai didi

python - imsave 的 dpi 选项

转载 作者:行者123 更新时间:2023-12-01 01:02:02 25 4
gpt4 key购买 nike

考虑以下 MWE 来生成随机图像:

import matplotlib.pyplot as plt
import numpy as np

pts = np.random.random_sample((1024, 1024))

plt.imsave('foo.png',pts, dpi=300)

我试图了解 dpi 选项的工作原理。根据matplotlib.pyplot.imsave文档,

dpi : int

The DPI to store in the metadata of the file. This does not affect the resolution of the output image.

上述程序的输出是一个 1024x1024 图像文件。

我不明白的是,identify -verbose foo.pngexiftool foo.png 都没有显示图像分辨率。

但是,用 ImageMagick (显示)打开它并检查图像信息,我发现

enter image description here

那么,分辨率和打印尺寸值背后的数学是什么?

如何获取300dpi分辨率的图像?

最佳答案

像 png 这样的图像格式没有定义 dpi。如果您通过 imsave 保存 1024 x 1024 像素数组,则图像将仅为 1024 x 1024 像素。

Imagemagick 似乎忽略任何元数据,因此它假定分辨率为 96 dpi。然后根据像素大小 (1024) 和 dpi (96) 计算出以英寸为单位的大小

1024 dots / 96 dots per inch  = 10.667 inch

也就是说,“如何获得 300dpi 分辨率的图像?”这个问题。不太清楚。但大多数图形查看器允许在打印之前缩放图像,因此在纸上打印 300 dpi 应该不成问题。

关于python - imsave 的 dpi 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55714989/

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