[英]How do I output a numpy array as an image through webpy?
我正在嘗試遵循此處的文檔,但是在執行以下操作時:
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'
format參數的有效值是什么? 我嘗試了“ png”,“ PNG”,“ image / png”。 是否有另一種簡單的方法可以從numpy數組中執行此操作?
我終於通過使用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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.