Ваши png-файлы используют прозрачность, так как это правда, что GIF поддерживает прозрачность, это не относится к библиотеке imageio.
Если все в порядке, когда замаскированная область имеет белый цвет, вы можетесделай это внутри своей петли. Просто замените:
for filename in imglist:
if filename.endswith('.png'):
images.append(imageio.imread(filename))
на:
for filename in imglist:
if filename.endswith('.png'):
tmp_image = imageio.imread(filename)
mask = (tmp_image[:,:,3] == 0) #where transparency channel is 0
tmp_image[mask] = [255,255,255,255] #Set those pixels to white (other color if you prefer)
images.append(tmp_image)
Прозрачность GIF немного особенная, вы устанавливаете один из цветов как прозрачный. Если вы хотите сделать это в Python , эта ветка должна помочь.
Я бы также рекомендовал немного узнать, как сделать gif напрямую с помощью ffmpeg. Поначалу это немного сложно понять, но это то, что все библиотеки видео / gif используют за кулисами.
Бест, р.