(图像或芹菜)关闭时出错:'Image'对象没有属性'fp'



我正在使用imageio将png图像写入文件。

import numpy as np
import matplotlib.cm as cm
import imageio # for saving the image
import matplotlib as mpl
hm_colors = ['blue', 'white','red']
cmap = mpl.colors.LinearSegmentedColormap.from_list('bwr', hm_colors)
data = np.array([[1,2,3],[5,6,7]])
norm = mpl.colors.Normalize(vmin=-3, vmax=3)
colormap = cm.ScalarMappable(norm=norm, cmap=cmap)
im = colormap.to_rgba(data)
# scale the data to a width of w pixels
im = np.repeat(im, w, axis=1)
im = np.repeat(im, h, axis=0)
# save the picture
imageio.imwrite("my_img.png", im)

此过程是自动执行的,我注意到一些错误消息说:

Error closing: 'Image' object has no attribute 'fp'.

在此消息之前,我收到警告:

/usr/local/lib/python2.7/dist-packages/imageio/core/util.py:78: UserWarning: Lossy conversion from float64 to uint8, range [0, 1] dtype_str, out_type.__name__))

但是,图像似乎生成并保存得很好。我找不到重新创建此消息的数据。

知道为什么我会收到此错误以及为什么它不会明显影响结果吗?我不使用PIL。一个可能的原因可能是在芹菜中使用它。

谢谢!L.

我在Python 3.5中使用imageio.imwrite时遇到了同样的问题。 这是一个相当无害的,除了它在写入数千张图像时停止垃圾收集并导致内存过度使用。 解决方案是使用 PIL 模块,它是 imageio 的依赖项。 代码的最后一行应为:

from PIL import Image
image = Image.fromarray(im)
image.save('my_img.png')

相关内容

  • 没有找到相关文章

最新更新