使用float 32时,Numpy Read as Array失败

2024-06-14 23:41:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python和gdal对Landsat卫星图像进行一些图像处理 基本上,我试图将iamges转换为流苏帽,但通常我阅读的是7个int16数组,大小为7281 x 8051,重命名为band1-5和band7,以及fmask。fmask是0和1的掩模带

 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

我可以以int16,而不是float 32导入这些带区,但只要我尝试执行上述操作,就会收到一条“内存错误”消息。我使用的是Spyder/Python2.7和正确的Python绑定。我有64GB的内存,但con似乎只使用2到8个内存。我还使用32位python和gdal。有什么想法吗?在


Tags: 内存图像数组图像处理landsatgdalint16band1
1条回答
网友
1楼 · 发布于 2024-06-14 23:41:49

如何使用32位进程处理超过4gb的数据?事实上,通常你的2Gb容量是有限的。它可能被配置为更多地使用unix machines,但在windows上,32位进程是always limited with 2Gb。在

改为切换到64位python。在

相关问题 更多 >