如何使用matplotlib以压缩600 dpi保存tiff中的数字?

问题描述 投票:0回答:1

最近,我决定从MATLAB移植到Matplotlib来绘制我的图表。在MATLAB中,我要做的只是转到文件>导出>渲染然后选择600 dpi然后选择应用于数字然后导出。在Matplotlib中,我使用matplotlib库中的命令savefig作为

matplotlib.pyplot.savefig(fname, dpi=None, facecolor='w', edgecolor='w',
    orientation='portrait', papertype=None, format=None,
    transparent=False, bbox_inches=None, pad_inches=0.1,
    frameon=None).

然后我将dpi设置为600并将.tiff设置为输出格式。这工作正常,但文件非常大~32 MB。很明显,我不能在期刊手稿中使用这么大的文件。我想知道是否有办法将压缩合并到文件中,以便可以获得更小的图像文件,而不会损失分辨率。

python matplotlib
1个回答
1
投票

截至目前,无法为tiff格式添加压缩。有一个开放的issue和一个工作的solution但自去年5月以来没有看到进展。

在工作解决方案中,存在建议的工作流程和引用

...使用MPL生成巨大的TIFF图像文件,然后在PIL中导入它们,使用TIFF压缩将它们保存在PIL中,然后丢弃未压缩的TIFF文件。

scikit-image项目有一些tiff图像保存functionality压缩,它可能会帮助你取决于你的用例。

除了tiff之外,该杂志最有可能接受其他格式。然后你可以去pngjpeg,DPI为600,基本上可以用于期刊的所有目的。

© www.soinside.com 2019 - 2024. All rights reserved.