Существует ряд проблем с вашим кодом ...
Если вы ожидаете получить изображение в оттенках серого, убедитесь, что это именно то, что вы получите.Итак, измените это:
image = Image.open('6.tif')
на:
image = Image.open('6.tif').convert('L')
Когда вы изменяете размер изображения, вам нужно использовать один из правильных методов повторной выборки:
- PIL.Image.NEAREST
- PIL.Image.BOX
- PIL.Image.BILINEAR
- PIL.Image.HAMMING
- PIL.Image.BICUBIC
- PIL.Image.LANCZOS
Итак, вам нужно заменить ANTI_ALIAS
чем-то из приведенного выше списка в этой строке:
image = image.resize((28, 28), Image.ANTIALIAS)
Когда вы сохраняете как PNG, он всегда без потерь.Коэффициент качества не работает так же, как для изображений JPEG, поэтому вы должны его пропустить, если у вас нет четкого понимания того, как он влияет на кодировщик PNG.
Если вы сделаете эти изменения, особенно первыеЯ думаю, что ваша проблема исчезнет.Имейте в виду, однако, что кодировщик PNG может взять изображение RGB и сохранить его как изображение в виде паллет, или оно может взять изображение в оттенках серого и кодировать его как RGB или RGB alpha.