IOError: ошибка конфигурации кодека при чтении файла изображения
Я пытаюсь получить эскиз изображения GIF, используя Pillow 4.3.0, Python 2.7.13, Debian 9.1
from PIL import Image
im = Image.open("Pictures/image.gif")
im.thumbnail((240,160))
im.save("Thumbnails/thumbnail.gif")
Но я не могу этого сделать. Это журнал:
Traceback (most recent call last):
File "testpy.py", line 4, in <module>
im.thumbnail((240,180))
File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 1843, in
thumbnail
im = self.resize(size, resample)
File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 1541, in
resize
self.load()
File "/usr/lib/python2.7/dist-packages/PIL/ImageFile.py", line 244, in
load
raise_ioerror(err_code)
File "/usr/lib/python2.7/dist-packages/PIL/ImageFile.py", line 59, in
raise_ioerror
raise IOError(message + " when reading image file")
IOError: codec configuration error when reading image file
Эта проблема не возникает с другими форматами (JPG, PNG, BMP).
Любая помощь очень ценится.
Редактировать: это происходит конкретно на снимках, сделанных с помощью камеры распирания с выбранным режимом кодирования GIF. Если вообще не выбирать режим кодирования, он работает хорошо. Но если не выбирать кодировку, то все изображения обрабатываются как jpg, а это не то, что я хочу.
1 ответ
Распространение изображений с камеры GIF содержит бит глубиной 11,
>>> im.tile
[('gif', (0, 0, 100, 100), 792, (11, False))]
в то время как Подушка поддерживает изображения GIF только до глубины 8 бит.
Я разместил этот вопрос на странице Pillow GitHub, и они должны исправить это в ближайшее время. https://github.com/python-pillow/Pillow/issues/2811