我试图通过将某些tiff图像(恰好是Landsat场景)导入像素值,方法是将它们导入为PIL图像,转换为numpy数组,然后进行数学运算/使用该数组。但是,似乎有些数据在存在实际数据的地方被导入为零。感谢您对诊断发生原因的任何帮助。
我用手机摄像头中的.jpg测试了相同的代码,但它并没有执行相同的操作,因此看起来图像中可能包含某些内容,但我不确定是什么。
im = Image.open("filepath_to_image.tif")
imarray = np.array(im)
plt.imshow(imarray, cmap = 'rainbow')
print(imarray)
您可以在图像的左边缘和底边缘看到零值(以及顶行中的nans),其中应该有0 -1的浮点数与左上角的值一样。
[[0.25185686 0.25185686 0.17598736 ... nan nan nan]
[0.25185686 0.25185686 0.17598736 ... 0. 0. 0. ]
[0.27690288 0.27690288 0.21749623 ... 0. 0. 0. ]
...
[0. 0. 0. ... 0. 0. 0. ]
[0. 0. 0. ... 0. 0. 0. ]
[0. 0. 0. ... 0. 0. 0. ]]
https://drive.google.com/open?id=1_Rxj66jc742Z88pbOt_3ZC898kyy9xm8