Значения пикселей Python и PIL различны для GIF и JPEG - PullRequest
7 голосов
/ 27 апреля 2011

У меня есть вопрос о значениях пикселей, возвращаемых из изображения, открытого с помощью функции загрузки PIL.Я использую следующий код:

frame = Image.open(fname).load()
a = frame[10, 10]

Если я загружаю изображение в формате GIF, a - это целочисленное значение 43. Но если я преобразовываю изображение в JPEG и повторно запускаю код, a - этокортеж (253, 254, 100).

Почему?И как я могу конвертировать (253, 254, 100) обратно в 43?

1 Ответ

8 голосов
/ 27 апреля 2011

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

...