У меня есть изображение в формате 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