6

我正在使用 matplotlib 通过savefig生成一些数字。这些数字是黑白的,需要以非常高分辨率 (1000 dpi) 的 TIFF 格式保存。因此,以减少的位深度来保存它们以使用更少的内存将是有益的。

为此,我的问题是:使用 matplotlib 保存图形时如何指定位深度?

谢谢!

4

1 回答 1

1

到目前为止,我的印象是 matplotlib 不支持位深度选项。因此,我使用 imagemagick 来转换图像 posthoc:

convert -monochrome +dither A.tiff B.tiff

如果其他人试图做类似的事情,我会提到几件事:

当我第一次通过运行更改位深度时convert -monochrome A.tiff B.tiff,字体看起来丑得让人无法接受(即使是 1000 DPI!)。这是因为抗锯齿,matplotlib 默认执行。我找不到任何关闭它的选项,但它的负面影响(当对 DPI 进行下采样时)可以通过启用抖动在很大程度上规避。因此,即使在 matplotlib 中有更改输出图像 DPI 的选项,除非它执行抖动或除非还有禁用抗锯齿的选项,否则它也没有用。

简短的回答,我会建议任何与我情况相似的人像我一样做他们的单色转换事后。

于 2014-09-15T10:49:43.740 回答