我使用python和gdal爲Landsat衛星圖像做一些圖像處理 本質上,我試圖將iamges轉換爲Tasseled Cap,但通常我正在讀取7個數組int 16的7281 x 8051大小更名爲band 1-5和band 7,以及fmask。 fmask是0和1的蒙版樂隊。作爲數組使用float時讀取數組失敗32
brightBand=(.2043*band1 + .4158*band2 + .5524*band3+.5741*band4+.3124*band5+ .2303*band7)*fmask
greenBand=(-0.1603*band1+ -.2819*band2 + -.4934*band3 + .7940*band4 + -.0002*band5 + -.1446*band7)*fmask
wetBand=(.0315*band1 + .2021*band2 + .3102*band3 + .1594*band4 + -.6806*band5 + -.6109*band7)*fmask
我可以導入頻帶爲INT 16,而不是作爲浮子32,但只要我嘗試做上述操作我接收「內存錯誤」消息。我使用Spyder/Python 2.7和正確的Python綁定。我有64 GB的ram,但con似乎只能使用2或8.我也使用32位python和gdal。有任何想法嗎?
爲什麼使用Python和相關實用程序的32位版本?不應該有任何東西阻止你使用64位版本。 –
沒有理由一次完成您的操作,因爲它是'像素'。因此,如果你受限於內存,請逐塊執行並將結果寫入磁盤。 –