2015-10-13 139 views
14

我有PIL图像格式的图像。我需要将其转换为字节数组。将PIL图像转换为字节数组?

img = Image.open(fh, mode='r') 
roiImg = img.crop(box) 

现在我需要roiImg作为字节数组。

+2

请提供更多细节。字节数组应该是什么格式?原始像素值可通过Image.getdata()获得,该图像返回PIL在特定平台上以特定格式使用图像的内部表示。 – dhke

+0

不确定,但它听起来像你需要使用''图像'['getdata()'](http://pillow.readthedocs.org/en/3.0.x/reference/Image.html#PIL。 Image.Image.getdata)方法。 – martineau

+0

我的目标是将图像保存在mysql数据库中作为BLOB类型。 –

回答

34

感谢大家的帮助。

终于搞定了!

import io 

img = Image.open(fh, mode='r') 
roiImg = img.crop(box) 

imgByteArr = io.BytesIO() 
roiImg.save(imgByteArr, format='PNG') 
imgByteArr = imgByteArr.getvalue() 

有了这个我不必在我的硬盘上保存裁剪后的图像,我可以从PIL裁剪图像检索字节数组。

+0

谢谢你的这个例子!我只是想做同样的事情。 – statueofmike

+0

请问您可以添加导入io吗? –

+0

框未定义。 –