python - Python:从原始 gif 创建一个“模糊 gif”
问题描述
我正在寻找一种从 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 中做到这一点?
谢谢
解决方案
感谢@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
推荐阅读
- flutter - 如何使用全局键从 Flutter 中的另一个小部件更新小部件状态?
- python - 你可以在我的本地主机上使用 sagemaker Python 库吗?
- php - 根据表值PHP将数据放在特定标题下
- python - 类型错误:open_file() 缺少 1 个必需的位置参数:'self'
- java - 检查两个 int 数组是否有重复元素,并从中提取重复元素之一
- python - 在 SQlite 中更改数据时出现错误;Python
- python - 从特定列中删除具有异常值的行
- python - 发生异常:TypeError 无法解压不可迭代的 NoneType 对象
- c - 为什么可以重新定义 C 库函数?
- php - 问题:当我更改文本区域的内容时,无法更新 db 值类型文本