[Numpy-discussion] bug using array with a PIL Image (misc.imread)
David Warde-Farley
dwf@cs.toronto....
Tue Jul 7 21:32:50 CDT 2009
That is some weird mojo; I'm guessing that numpy simply doesn't
recognize the 'LA' type (luminance+alpha) as it's pretty uncommon. In
the meantime you probably want to convert to RGBA, since that file
giving you problems is grayscale+alpha channel, and a conversion to
RGB might lose the alpha channel.
FWIW that's pretty much what matplotlib does, see
matplotlib.image.pil_to_array which does the conversion fine.
David
On 7-Jul-09, at 8:07 PM, Nicolas Pinto wrote:
> Dear all,
>
> For some reason I have a problem converting a specific png image
> using array().
>
> Here is what I am getting (using numpy 1.3.0 and scipy 0.7.0).
>
> % wget http://files.getdropbox.com/u/167753/spiky_adj_023.png
> % python -c "import numpy as np; import Image; print
> np.array(Image.open('spiky_adj_023.png'))"
> <PngImagePlugin.PngImageFile instance at 0xd1a050>
>
> % wget http://files.getdropbox.com/u/167753/spiky_norm_001.png
> % python -c "import numpy as np; import Image; print
> np.array(Image.open('spiky_norm_001.png'))"
> [[134 30 140 ..., 230 83 59]
> [ 99 202 233 ..., 160 63 133]
> [ 93 241 35 ..., 7 240 101]
> ...,
> [206 132 196 ..., 139 190 112]
> [218 21 217 ..., 121 152 109]
> [ 83 188 187 ..., 6 240 251]]
>
>
> I was initially using scipy's misc.imread when I found this bug. I
> am currently using the following workaround:
> % python -c "import numpy as np; import Image; print
> np.array(Image.open('spiky_adj_023.png').convert('RGB'))"
>
> Let me know what you think.
>
> Thanks in advance.
>
> Sincerely,
>
> --
> Nicolas Pinto
> Ph.D. Candidate, Brain & Computer Sciences
> Massachusetts Institute of Technology, USA
> http://web.mit.edu/pinto
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
More information about the NumPy-Discussion
mailing list