簡體   English   中英

如何通過Webpy將Numpy數組作為圖像輸出?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM