我有一個大型二維數組(4000x3000)保存爲一個numpy數組,我希望顯示和保存,同時保持查看每個像素的能力。 對於顯示部分,我目前使用matplotlib imshow()函數,該函數效果很好。在Python中以全分辨率顯示和保存大型2D矩陣
對於保存部分,我不清楚如何保存此圖並保留所有12M像素中包含的信息。我嘗試調整保存圖像的圖形大小和分辨率(dpi),但不清楚應使用figsize/dpi設置來匹配顯示的大2D矩陣的分辨率。下面是我在做什麼(改編爲形狀的numpy的陣列(3000,4000))的示例代碼:
fig = pylab.figure(figsize=(16,12))
pylab.imshow(arr,interpolation='nearest')
fig.savefig("image.png",dpi=500)
一個辦法是增加保存的圖像的分辨率基本上以確保所有像素將被正確記錄,但是這具有創建尺寸非常大的圖像(至少遠大於我真正需要的4000x3000像素圖像)的顯着缺點。它也有一個缺點,就是不是所有的像素都會有完全相同的大小。
我也看了一下Python圖像庫,但我不清楚它是如何用於這個目的的,如果有的話。
任何有關這個問題的幫助將不勝感激!
您是否需要保存圖像,或者只保存陣列數據本身並在以後重新創建圖像? – BrenBarn
我需要保存圖像並將所有像素信息清晰地顯示在圖像中 – aurefly