Я пытаюсь получить значения пикселей из некоторых изображений в формате 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. ]]
] 1
] 2
https://drive.google.com/open?id=1_Rxj66jc742Z88pbOt_3ZC898kyy9xm8