Png файл, загруженный Keras, выглядит полностью черным
У меня есть набор png-файлов, сгенерированных из программы drawSvg. Они выглядят хорошо при просмотре в обычном средстве просмотра изображений, таком как Paint. Но когда я загружаю их через keras, на iphow matplotlib они отображаются полностью черными.
from keras.preprocessing.image import load_img,img_to_array
import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('TKAgg')
img_path = "output/L_Profile.png"
img = load_img(img_path, target_size=(100, 100))
print(type(img)) # <class 'PIL.Image.Image'>
x = img_to_array(img)
print(type(x)) # <class 'numpy.ndarray'>
print(x.shape) # (100, 100, 3)
plt.imshow(x) # plt.imshow(x/255.) doesnt work either
plt.show()
L_Profile.png -
В шоу matplotlib это выглядит полностью черным. Я что-то делаю не так?
Другая проблема заключается в том, что форма (100,100,3) - это не то, что нужно, поскольку мне нужно передать это слою Autoencoder Dense. Я хочу, чтобы это было (100,100,1). Изображение в идеале должно быть просто черно-белым. Я пытался конвертировать по:
img = img.convert('1')
x = img_to_array(img)
print(type(x)) # <class 'numpy.ndarray'>
print(x.shape) # (100, 100, 1)
plt.imshow(x) # plt.imshow(x/255.) doesnt work either
plt.show() # TypeError: Invalid dimensions for image data
Здесь сама ошибка plt.show (). Не уверен, что происходит.
Простой рабочий процесс, такой как открытие черно-белого изображения в керасе, не работает.