5
ラスタをnumpy配列に完全にロードしますか?
パターン認識のためにDEMラスターでフィルターをチェックしようとしており、常に最後の行と列が欠落しています(like..20)。PILライブラリ、イメージのロードで試しました。次に、numpyを使用します。出力は同じです。 配列の値をチェックするとき(ArcCatalogでIDを使用してピクセルを選択する)、ループに何か問題があると思ったので、ピクセル値が配列に読み込まれていないことに気付きました。 したがって、単に開いて配列に入れ、配列から画像を保存するだけです: a=numpy.array(Image.open(inraster)) #raster is .tif Float32, size 561x253 newIm=Image.new(Im.mode, Im.size) Image.fromarray(a).save(outraster) 最後の行と列を切り取ります。申し訳ありませんが、画像を投稿できません 誰もがその理由を理解するのを助けることができますか?そして、いくつかの解決策をアドバイスしますか? 編集: だから、私はみんなの助けを借りて小さなラスターをnumpy配列にロードすることに成功しましたが、大きなイメージがあるとエラーが発生し始めます。私はそれがnumpy配列の制限についてだと思うので、配列は自動的に再形成されるか、そのようにsmthされます...だから例: Traceback (most recent call last): File "<pyshell#36>", line 1, in <module> ima=numpy.array(inDs.GetRasterBand(1).ReadAsArray()) File "C:\Python25\lib\site-packages\osgeo\gdal.py", line 835, in ReadAsArray buf_xsize, buf_ysize, buf_obj ) File "C:\Python25\lib\site-packages\osgeo\gdal_array.py", line 140, in BandReadAsArray ar = numpy.reshape(ar, [buf_ysize,buf_xsize]) File …