【问题标题】:Python : Create a "blurry gif" from original gifPython:从原始 gif 创建一个“模糊 gif”
【发布时间】:2021-04-10 13:08:48
【问题描述】:

我正在寻找一种从 gif 创建模糊 gif 的智能方法。

目前我有一个脚本可以为 jpeg / png 做同样的事情:

blurry_image = Image.open(file).filter(ImageFilter.BoxBlur(50))
blurry_output = io.BytesIO()
blurry_image.save(blurry_output, format=image_format)

但是这个脚本不适用于 gif,有没有简单的方法在 python 中做到这一点?

谢谢

【问题讨论】:

  • 您可以从这里开始:github.com/python-pillow/Pillow/issues/… 取出帧,单独模糊它们,然后将它们放回 gif 中
  • 谢谢,我会测试它并发布我的代码,如果它工作正常
  • “不适用于 gif”——请详细说明问题。发生什么了?输出错了吗?您收到错误消息吗?并且要具体!

标签: python image-processing python-imaging-library blurry


【解决方案1】:

感谢@Marcel,我通过循环帧成功地完成了这项工作

    im = Image.open(file)
    frames = [np.asarray(im_frame.convert('RGB').filter(ImageFilter.BoxBlur(50)))
              for im_frame in ImageSequence.Iterator(im)]
    blurry_images = [Image.fromarray(a_frame) for a_frame in np.stack(frames)]

    blurry_images[0].save(blurry_output, save_all=True, append_images=blurry_images[1:], format='gif', loop=0)

我不知道是否已经有一个库可以直接做,但在这里它正在工作 基本上,它将所有帧保存为 PNG 格式的图像(带有模糊选项),并从所有这些保存的帧中重建 gif

【讨论】:

    猜你喜欢
    • 2016-12-09
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 2016-10-18
    • 1970-01-01
    • 2020-07-25
    • 2011-04-10
    • 2011-09-07
    相关资源
    最近更新 更多