我怎样将PIL中的
Image
和NumPy数组相互转换,以便我能够进行比PIL的PixelAccess
更快速的像素级变换?我可以使用以下方式将其转换为NumPy数组:pic = Image.open("foo.jpg")
pix = numpy.array(pic.getdata()).reshape(pic.size[0], pic.size[1], 3)
但是,当我修改了数组后,如何将其重新加载到PIL Image
中呢?pic.putdata()
不起作用。
pic.size[0]
和pic.size[1]
应该交换位置(即reshape(pic.size[1], pic.size[0], 3)
),因为size
表示的是宽度乘以高度,而矩阵排序应该是行数乘以列数。请注意不要改变原始含义。 - foges