我正在尝试遵循文档here,但是当我执行以下操作时:
web.header('Content-type', 'image/png')
buf = StringIO.StringIO()
scipy.misc.imsave(buf, my_numpy_data, format='png')
return buf.getvalue()
我收到以下错误:
TypeError: imsave() got an unexpected keyword argument 'format'
格式参数的有效值是什么?我尝试过' png',' PNG',' image / png'。还有另一种简单的方法可以从numpy数组中做同样的事情吗?
答案 0 :(得分:0)
我终于通过使用PIL中的Image对象解决了这个问题。我使用了一个小函数来转换:
def array2PIL(data):
mode = 'RGB'
size = data.shape[1],data.shape[0]
return Image.frombuffer(mode, size, data.tostring(), 'raw', mode, 0, 1)
然后像这样使用它:
web.header('Content-type', 'image/png')
buf = StringIO.StringIO()
img = array2PIL(my_numpy_data)
img.save(buf,format='PNG')
return buf.getvalue()