PIL图像在存在实数值的情况下返回零

时间:2019-05-14 20:42:37

标签: python matplotlib python-imaging-library imshow

我试图通过将某些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.        ]]

[InputTiff] 1 [OutputTiff] 2

https://drive.google.com/open?id=1_Rxj66jc742Z88pbOt_3ZC898kyy9xm8

0 个答案:

没有答案