我使用python和gdal为Landsat卫星图像做一些图像处理 基本上,我试图将iamges转换为Tasseled Cap,但通常我正在阅读7个int 16的数组,这些数组是7281 x 8051大小,重命名为1-5和band 7,以及fmask。 fmask是0&1和0的掩码带。
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。有什么想法吗?
答案 0 :(得分:3)
如何使用32位进程处理4gb以上的内容?事实上,通常你只限制2Gb。它可能配置为更unix machines,但在Windows上,32位进程为always limited with 2Gb。
转而使用64位python。