使用scikit-image读取图像缓冲区

时间:2016-08-19 19:03:31

标签: python numpy io buffer scikit-image

我已经有一个图像的内存文件。我想使用skimage的io.imread(或等效的)来读取图像。但是,skimage.io.imread()接受文件而不是缓冲区

示例缓冲区:

 <Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01 01 00 00 01 00 01 00 00 ff db 00 43 00 03 02 02 02 02 02 03 02 02 02 03 03 03 03 04 06 04 04 04 04 04 08 06 06 05 ... >

skimage.io.imread()只会产生一个numpy数组。

1 个答案:

答案 0 :(得分:3)

尝试将缓冲区转换为StringIO,然后使用skimage.io.imread()

进行读取
import cStringIO

img_stringIO = cStringIO.StringIO(buf)
img = skimage.io.imread(img_stringIO)

您也可以将其读作:

from PIL import Image
img = Image.open(img_stringIO)
相关问题