Как правильно получить полные кадры для разностных GIF-файлов, используя Python Imageio? - PullRequest
1 голос
/ 19 января 2020

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 (справа, плохо) для моего алгоритма обнимания изображения:

enter image description here enter image description here

Входы:

enter image description here enter image description here

...