GIF-файлы - это изображения, которые можно анимировать, т. Е. Состоящие из последовательности кадров. В мире существует два типа GIF-файлов: тип A хранит каждый кадр отдельно, а тип B вместо этого сохраняет различия между последующими GIF-файлами.
Я загружаю файлы GIF, используя imageio
, который отлично работает для типа A, но возвращает различия только для типа B. Как я могу вместо этого легко получить полные кадры?
Вот как я получаю изображения:
reader = imageio.get_reader(filename)
for _ in range(reader.get_length()):
PIL.Image.fromarray(reader.get_next_data().copy()).convert('RGBA')
И вот результат, когда я использую GIF типа A (слева, хорошо) по сравнению с типом B (справа, плохо) для моего алгоритма объятия с изображением:
Входы:
alpha_composite
может сработать, но (A) должен быть более простой способ и (B) я не знаю, как определить, основан ли GIF на различиях: / - person xjcl   schedule 19.01.2020'extension': (b'ImageMagick', 822)
, может быть, это указывает на то, что он основан на различиях? - person xjcl   schedule 19.01.2020