3
我有一個很大的圖像文件(單波段),不適合我的內存。 我想讀取它作爲numpy數組(數據)並使用matplotlib繪製它,可能使用imshow(data)
。我知道如何做一個小尺寸的圖像。但是我怎樣才能做到這一點大文件?當然,它可以在繪圖之前重新採樣(可能是scipy縮放)。但是,在讀取numpy arrray之前,我該如何重新取樣,因爲不可能將大文件讀入內存。核心重採樣
我有一個很大的圖像文件(單波段),不適合我的內存。 我想讀取它作爲numpy數組(數據)並使用matplotlib繪製它,可能使用imshow(data)
。我知道如何做一個小尺寸的圖像。但是我怎樣才能做到這一點大文件?當然,它可以在繪圖之前重新採樣(可能是scipy縮放)。但是,在讀取numpy arrray之前,我該如何重新取樣,因爲不可能將大文件讀入內存。核心重採樣
也許最好用外部瀏覽器https://superuser.com/questions/254677/what-software-works-well-for-viewing-massive-tiff-images-on-windows-7來顯示tiff。
否則,您可以嘗試首先轉換HDF5文件中的tiff(ftp://ftp.hdfgroup.org/HDF/contrib/salem/tiffutils.c),然後只加載要顯示的矩陣的一部分。
你的圖像格式是什麼...它是每個csv行有一個圖像行的灰度值的CSV? – maxymoo
@maxymoo它是geotiff – Borys
@Borys根據你如何加載圖像,你可以嘗試一個內存映射文件:https://docs.python.org/2/library/mmap.html(或numpy等效:http:// docs.scipy.org/doc/numpy/reference/generated/numpy.memmap.html) – kazemakase