PIL Image.open отображаемое изображение повернуто обратно - PullRequest
0 голосов
/ 21 октября 2019

Я работаю над предсказанием числовой картинки, как показано ниже, с набором данных MNIST и Модель LeNet . Во-первых, я показываю тестовые изображения с Image.open, он отображает тестовые изображения в режиме обратного поворота.

enter image description here

from PIL import Image
import matplotlib.cm as cm
import pylab as pl
import numpy as np

img = Image.open('./test/2.png').convert('L')
img = np.invert(img) # convert to white on black
pl.imshow(np.asarray(img), origin='lower', cmap=cm.Greys_r)
pl.show()

Другая проблема заключается вКоэффициент точности прогноза кажется очень низким. Например, 2 здесь было предсказано как 4.

Кто-то может помочь с этим или объяснить? На мой взгляд, этот номер гораздо понятнее, чем почерк MNIST. Большое спасибо.

enter image description here

1 Ответ

3 голосов
/ 21 октября 2019

imshow просто видит массив данных. Таким образом, указание origin='lower' означает, что вы говорите imshow, что источник ваших данных находится в нижнем углу. Однако данные изображения происходят из верхнего угла, поэтому вы можете полностью удалить origin= (по умолчанию - верхний) или указать «верхний».

pl.imshow(np.asarray(img), cmap=cm.Greys_r)

или

pl.imshow(np.asarray(img), origin='upper', cmap=cm.Greys_r)
...