【问题标题】:imageio generates black image sequenceimageio 生成黑色图像序列
【发布时间】:2019-10-11 19:17:06
【问题描述】:

我正在尝试使用 imageio 将图像序列写入 gif 文件,但我得到的只是一张黑色图像。

我正在使用的代码:

import imageio
import numpy as np

m=np.zeros((5,5))

for i in range(5):
    m[i,3]=1
    with imageio.get_writer('test.gif', mode='I') as writer:
        writer.append_data(m.astype(np.uint8))

我预计白线会越来越长..

附:我希望追加在循环内。我会将它用于相当重的图像序列,所以我想即时写入

【问题讨论】:

  • 你能检查一下文件是否真的每次都被写入了吗?尝试在循环中添加延迟并打开文件
  • 好吧,如果我在 PyCharm 中以调试模式运行此脚本,则文件只会在循环结束后创建。据我了解,如果文件已经存在,则不会更新。
  • 当您使用 numpy 时,我建议您查看此链接。我认为您可以使用 matplotlib 获得相同的结果:stackoverflow.com/questions/902761/…
  • 到目前为止,我找不到将图像直接附加到 .gif 文件的方法。将所有序列存储在列表中对我的计算机来说很重(当然不是为了这个简单的测试代码,而是为了真实数据)

标签: python animated-gif python-imageio


【解决方案1】:

在循环之前创建 writer 方法,而不是在其中。使用 append_data 方法,您可以将图像附加到 gif 文件中,只要分辨率相同就可以了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-24
    • 2014-08-11
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    • 2018-04-27
    • 2015-01-01
    • 1970-01-01
    相关资源
    最近更新 更多