Воспроизведение изображения Python PIL - PullRequest
2 голосов
/ 14 февраля 2011

Я новичок в PIL и Python, и у меня есть вопрос, связанный с API.

У меня есть изображение

img = Image.new('RGB', (1, 2))

И у меня есть список кортежей

x = [(255, 255, 255), (255, 255, 255)]

Я img.putdata(x)

и img.save('C:\\somename.jpeg')

Позже, когда я перезагружаю изображение и делаю

img2 = Image.open('C:\\somename.jpeg')

y = [p for p in img2.getdata()]

Данные 'y', которые я на самом деле получаю, это

[(255, 255, 255), (251, 251, 251)]

Я не могу понять, почему это происходит? Пожалуйста, дайте мне знать, если у кого-то есть какие-либо указатели, связанные с этим.

1 Ответ

9 голосов
/ 14 февраля 2011

jpeg - это формат сжатия с потерями, который не гарантирует попиксельное воспроизведение.Попробуйте сохранить изображение в формате без потерь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...