[Numpy-discussion] Interfacing with PIL?
Tim Hochberg
tim.hochberg at ieee.org
Wed Aug 30 13:16:58 CDT 2006
Johannes Loehnert wrote:
> Am Mittwoch, 30. August 2006 19:20 schrieb Ghalib Suleiman:
>
>> I'm somewhat new to both libraries...is there any way to create a 2D
>> array of pixel values from an image object from the Python Image
>> Library? I'd like to do some arithmetic on the values.
>>
>
> Yes.
>
> To transport the data:
>
>>>> import numpy
>>>> image = <some PIL image>
>>>> arr = numpy.fromstring(image.tostring(), dtype=numpy.uint8)
>>>>
>
> (alternately use dtype=numpy.uint32 if you want RGBA packed in one number).
>
> arr will be a 1d array with length (height * width * b(ytes)pp). Use reshape
> to get it into a reasonable form.
>
On a related note, does anyone have a good recipe for converting a PIL
image to a wxPython image? The last time I tried this, the best I could
come up with was:
stream = cStringIO.StringIO()
img.save(stream, "png") # img is PIL Image
stream.seek(0)
image = wx.ImageFromStream(stream) # image is a wxPython Image
-tim
More information about the Numpy-discussion
mailing list