6

savefigを介していくつかの図を生成するために matplotlib を使用しています。これらの図は白黒で、TIFF 形式で非常に高い解像度 (1000 dpi) で保存する必要があります。したがって、使用するメモリを少なくするために、ビット深度を下げて保存すると効果的です。

そのために、私の質問: matplotlib で図を保存するときにビット深度を指定するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

1

これまでのところ、matplotlib はビット深度オプションをサポートしていないという印象を受けました。したがって、imagemagick を使用して画像をポストホックに変換しています。

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 に答える