我正在使用matplotlib通過savefig生成一些數字。這些數字是黑白的,需要以TIFF格式以非常高的分辨率(1000 dpi)保存。因此,將它們的位深度減小以便使用較少的內存將是有益的。更改使用Matplotlib生成的數字的位深度
爲此,我的問題是:如何在使用matplotlib保存圖形時指定位深度?
謝謝!
我正在使用matplotlib通過savefig生成一些數字。這些數字是黑白的,需要以TIFF格式以非常高的分辨率(1000 dpi)保存。因此,將它們的位深度減小以便使用較少的內存將是有益的。更改使用Matplotlib生成的數字的位深度
爲此,我的問題是:如何在使用matplotlib保存圖形時指定位深度?
謝謝!
到目前爲止,我得到的印象是matplotlib不支持位深度選項。因此我使用ImageMagick的圖像轉換事後:
convert -monochrome +dither A.tiff B.tiff
幾件事情,我會的情況下,別人提的是試圖做類似:
當我第一次運行convert -monochrome A.tiff B.tiff
變位深,字體看起來難以接受(甚至在1000 DPI!)。這是因爲matplotlib默認執行的抗鋸齒。我找不到任何方法來解決這個問題,但是它的負面影響(對DPI進行下采樣時)可以通過啓用抖動在很大程度上避開。因此,即使是是一個用於更改matplotlib中輸出圖像的DPI的選項,除非執行抖動或除非還有禁用抗鋸齒的選項,否則它是無用的。
簡短的回答,我會建議任何人在類似的情況下,我做他們的單色轉換posthoc,因爲我已經做了。
你的意思是保存爲PNG? – mdurant 2014-09-12 14:22:25
我實際上是以TIFF格式保存的,儘管我對有關任何光柵格式(包括PNG)的答案感興趣。 – sircolinton 2014-09-12 14:27:04
我會很驚訝,如果matplotlib直接支持這樣的選項,但你當然可以隨後轉換圖像。或者,您可以使用您最喜歡的python圖像庫來保存從matplotlib內容生成的numpy數組圖像表示。 – 2014-09-13 19:12:54