2013-04-23 43 views
0

我使用scikit-image讀取圖像:scikit圖像保存圖像字節字符串

img = skimage.io.imread(filename) 

做一些操作,以img後,我想將它保存到內存中的文件( la StringIO)傳遞給另一個函數,但它看起來像skimage.io.imsave需要一個文件名,而不是文件句柄。

如果可能,我想避免碰到磁盤(imsave,然後再讀取另一個映像庫)。有沒有一種很好的方法來獲得imsave(或其他一些適合scikit-image的功能)與StringIO一起使用?

回答

1

scikit-image將影像存儲爲numpy的陣列,因此你可以使用一個包,如matplotlib這樣做:

import matplotlib.pyplot as plt 
from StringIO import StringIO 

s = StringIO() 

plt.imsave(s, img) 

這可能是值得加入的默認行爲skimage.io.imsave,所以如果你想你也可以在文件一個問題在https://github.com/scikit-image/scikit-image

+0

謝謝,斯蒂芬!我在這裏創建了這個問題:https://github.com/scikit-image/scikit-image/issues/533 – 2013-04-24 01:55:32