我使用matplotlib通过savefig生成一些图形。这些图形是黑白的,需要以TIFF格式以非常高的分辨率(1000 dpi)保存。因此,以减少的比特深度来保存它们以使用更少的存储器将是有益的。
为此,我的问题是:在使用matplotlib保存图形时,如何指定位深度?
谢谢!
到目前为止,我得到的印象是matplotlib不支持bit depth选项。因此,我使用imagemagik来转换图像posthoc:
convert -monochrome +dither A.tiff B.tiff
如果其他人也试图做类似的事情,我会提到几件事:
当我第一次通过运行convert -monochrome A.tiff B.tiff
来更改位深度时,字体看起来难看得令人无法接受(即使是1000 DPI!)。这是因为反锯齿,matplotlib在默认情况下执行反锯齿。我找不到任何关闭它的选项,但启用抖动可以在很大程度上避免它的负面影响(当向下采样DPI时)。因此,即使有更改matplotlib中输出图像DPI的选项,除非它执行抖动或也有禁用抗锯齿的选项,否则它也没有用处。
简短的回答是,我建议任何和我处境相似的人像我一样在后台进行单色转换。