私は Mort Canty のhttp://mcanty.homepage.t-online.de/バイテンポラル RapidEye マルチスペクトル画像で Python iMAD 実装を実行しようとしています。これは基本的に、2 つの画像の正準相関を計算してから、それらを減算します。私が抱えている問題は、画像が 5000 x 5000 x 5 (バンド) ピクセルであることです。イメージ全体でこれを実行しようとすると、メモリ エラーが発生します。
pyTables のようなものを使用すると、これに役立ちますか?
Mort Canty のコードは、gdal を使用して画像をロードし、10 x 25,000,000 配列に格納しようとしています。
# initial weights
wt = ones(cols*rows)
# data array (transposed so observations are columns)
dm = zeros((2*bands,cols*rows))
k = 0
for b in pos:
band1 = inDataset1.GetRasterBand(b+1)
band1 = band1.ReadAsArray(x0,y0,cols,rows).astype(float)
dm[k,:] = ravel(band1)
band2 = inDataset2.GetRasterBand(b+1)
band2 = band2.ReadAsArray(x0,y0,cols,rows).astype(float)
dm[bands+k,:] = ravel(band2)
k += 1
float の 10 x 25,000,000 numpy 配列を作成するだけでも、メモリ エラーがスローされます。これを回避する方法を知っている人はいますか?初めての投稿なので、投稿の仕方などアドバイスいただければ幸いです。
ご挨拶