PIL Изображение, возвращающее нули, где существуют реальные значения - PullRequest
1 голос
/ 14 мая 2019

Я пытаюсь получить значения пикселей из некоторых изображений в формате 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

...