PIL数据和numpy数据的相互转换

在做图像处理的时候,自己常用的是将PIL的图片对象转换成为numpy的数组,同时也将numpy中的数组转换成为对应的图片对象。

这里考虑使用PIL来进行图像的一般处理。

from PIL import Image
img = Image.open("lena.jpg")
print type(img)
img = np.array(img)
print type(img)

<class 'PIL.JpegImagePlugin.JpegImageFile'>
<type 'numpy.ndarray'>
由于PIL也是基于numpy的,因此可以很容易的通过使用numpy中的函数来进行类型的转换。
img_tr = Image.fromarray(tr_img)
print type(img_tr)

<class 'PIL.Image.Image'>

可以通过PIL中Image中的fromarray,直接将一个数组对象转换成为PIL中的图片对象,然后就可以使用PIL中对应的方法来进行处理了。

posted @ 2017-09-22 11:50  niudong  阅读(21303)  评论(0编辑  收藏  举报