2013-04-23 85 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