python中的Imageio:压缩gif

python中的Imageio:压缩gif,python,python-imageio,Python,Python Imageio,在python中使用imageio制作gif时,有没有办法压缩gif?我用大约200幅图像制作gif,最终的文件是30MB。我更喜欢5-10MB。无论如何,图像都是单色的,所以可以进行压缩。是否有工具可供我使用或与imageio一起指定 下面是我制作gif的代码: import os import imageio as io import re ############################################################# #key to sort t

python
中使用
imageio
制作gif时,有没有办法压缩gif?我用大约200幅图像制作gif,最终的文件是30MB。我更喜欢5-10MB。无论如何,图像都是单色的,所以可以进行压缩。是否有工具可供我使用或与
imageio
一起指定

下面是我制作gif的代码:

import os
import imageio as io
import re
#############################################################
#key to sort the file_names in order
numbers = re.compile(r'(\d+)')
def numericalSort(value):
    parts = numbers.split(value)
    parts[1::2] = map(int, parts[1::2])
    return parts
############################################################
file_names = sorted((fn for fn in os.listdir('.') if fn.startswith('surface')), key = numericalSort)

#gif writer
with io.get_writer('python_growth.gif', mode='I', duration=0.1) as writer:
    for filename in file_names:
        image = io.imread(filename)
        writer.append_data(image)

面对同样的问题,我为库创建了一个名为的包装器,可以按如下方式使用它:

从pygifsicle导入优化
优化(“路径到我的gif.gif”)
与pip上的所有其他软件包一样,您可以通过运行以下程序来安装它:

pip安装pygifsicle
中提供了使用此库的完整示例

安装pygifsicle时,如果您在MacOS上,还将使用自动安装gifsicle库。对于其他系统,将提供一个分步指南,它基本上只要求通过apt get on Debian/Ubuntu安装库(因为在软件包设置中不要求sudo似乎是个好主意):

sudo-apt-get-install-gifsicle

或者在windows上,你可以。

请发布你到目前为止所拥有的。嘿,我已经添加了我的代码。你有过解决这个问题的方法吗?没有:(实际上我只是用每个$i^{th}制作了gif)$frame来减小文件大小。你能给我建议一种方法吗?嘿,很酷的解决方案,我还没有测试过这个,但我会尝试一下,非常感谢你这么做!嗨,我实际上注意到这是在增加,而不是减少我的文件大小…最初,test.gif==13M。在运行
pygifsicle.optimize(“test.gif”)之后
,test.gif==23MHello@AviVajpeyi,pygifsicle提供了到库的绑定,该库通常能够压缩图像。在我的测试案例中,库总是有效的,但我认为有些情况下压缩算法会失败。我建议您使用这种情况打开一个pull请求。@LucaCappelletti如何添加其他gifsice选项,如
lossy
optimize
函数?您好@JimsonKannantharaJames,请在存储库的文档中为此类问题打开一个问题,以便我们在那里进行探讨。