Керас не может загрузить изображения в формате uint16 - PullRequest
0 голосов
/ 12 октября 2019

У меня есть изображение в формате uint16.

Керас неправильно открывает изображение. Все значения пикселей выше 255, по-видимому, установлены на 255.

Когда файл открывается с Keras, возвращаемый тип объекта - PIL.Image.Image, но когда файл открывается с помощью Pillow, возвращаемый тип объекта -PIL.TiffImagePlugin.TiffImageFile. Это похоже на то, что версия Pillow для Keras не использует плагин tiff image.

Я использую Python 3.7.4 со следующими пакетами:

  • Keras 2.2.4
  • предварительная обработка keras 2.2.4
  • подушка 5.3.0

Я смотрел исходный код load_img предварительной обработки keras . Кажется, что команды там не иллюстрируют проблему напрямую, и я думаю, это потому, что плагин tiff image должен был быть распознан где-то еще, но не узнал.

from keras.preprocessing.image import load_img
img = load_img('someuint16.tif', color_mode='grayscale')
print(type(img))         # prints PIL.Image.Image

from PIL import Image as pil_image
ex_pil_img = pil_image.open(path)
print(type(ex_pil_img))  # prints PIL.TiffImagePlugin.TiffImageFile
...