我正在寻找将卫星图像的像素值存储到数组中。我一直在使用用于创建具有numpy大阵列的最佳dtype
np.empty((image_width, image_length)
和它的工作对图像的较小的子集,但使用整个图像(3858 X 3743)上时,它的代码终止很快,我得到的是零的数组。
我使用一个循环,并用GDAL
img = gdal.Open(os.path.join(fn + "\{0}".format(fname))).ReadAsArray()
打开图像的图像值加载到阵列,但是当我包括print img_array
我最终只是零。
我已经尝试了几乎所有可以在numpy文档中找到的单个dtype,但不断得到相同的结果。
numpy无法加载这么多值或有没有一种方法来优化数组?
我正在处理含有NDVI(十进制)值的8位tiff图像。
感谢
“最好的dtype”是舒适地保存您的数据的那个。如果你有一堆8位像素,'uint8'可能是最好的dtype,但如果你有一堆32位浮点音频样本,它不会很好...... – abarnert
@abarnert我使用的图像是8位tiff。当我使用uint8时仍然返回零.. – Dzinic