【发布时间】:2021-07-13 17:26:02
【问题描述】:
我在 Python 中使用 imageio 读取 jpg 图像并将它们写为 gif,使用类似于下面的代码。
import imageio
with imageio.get_writer('mygif.gif', mode='I') as writer:
for filename in framefiles: # iterate over names of jpg files I want to turn into gif frames
frame = imageio.imread(filename)
writer.append_data(frame)
我注意到我制作的 GIF 中的图像质量很差;我怀疑这是由于某种形式的压缩。有没有办法告诉 imageio 不要使用任何压缩?或者也许可以用 opencv 来代替?
【问题讨论】:
-
当您尝试阅读文档时发生了什么?例如,当您尝试输入
imageio gif qualityinto a search engine 时发生了什么?为什么您首先希望从 jpg 创建高质量的 gif 图像成为可能——您看到这样做了吗? (您熟悉 gif 格式吗?)为什么不使用实际的视频格式?您实际上要解决什么问题 - 为什么需要动画 gif? -
谷歌搜索,我主要是在 Java 中找到 imageio 的结果,其中似乎没有简单的方法来调整压缩。我正在制作一个 gif,因为有人要求我制作一个,但我不明白为什么 avi 或 mp4 也不够用。我对这些格式都不太了解。
-
我会为此使用其他模块或外部工具 - 即。模块
ffmpeg-python或直接编程ffmpeg,模块wand或直接编程imagemagick -
挖掘源代码我发现我可以访问一些
GIFWriter设置:writer._writer.opt_quantizer和writer._writer.opt_palette_size但我认为主要问题是gif只能显示256 colors所以它有使用不同颜色的几个点来模拟一些颜色。其他问题可能会导致 JPG 文件降低图像质量。
标签: python animated-gif python-imageio