La conversion de l'image en noir et blanc, et l'utiliser comme tableau

Je suis en train de convertir une image couleur en image noir et blanc.

L'image d'origine est la suivante:

La conversion de l'image en noir et blanc, et l'utiliser comme tableau

J'ai quelques problèmes. Première:

import pylab as pl
import Image

im = Image.open('joconde.png')

pl.imshow(im)
pl.axis('off')
pl.show()

J'obtiens ceci:

La conversion de l'image en noir et blanc, et l'utiliser comme tableau

Pourquoi est-il tourné? Ce n'est pas la question, mais j'aimerais savoir pourquoi.

im_gray = im.convert('1')

pl.imshow(im_gray)
pl.show() 

Et voici au traitement de l'image en noir et blanc:

La conversion de l'image en noir et blanc, et l'utiliser comme tableau

Maintenant tout à l'air de fonctionner. Mais j'ai besoin d'utiliser cette image comme un tableau numpy afin de faire un peu de traitement d'image. Tout ce que j'ai à faire est ceci:

import numpy as np

im_arr = np.array(im_gray)

pl.imshow(im_arr)
pl.axis('off')
pl.show()

Mais j'obtiens ceci:

La conversion de l'image en noir et blanc, et l'utiliser comme tableau

Pourquoi est-ce arrivé? J'ai essayé aussi:

im_arr = np.array(im_gray, dtype='float')

ou:

im_arr = np.asarray(im_gray)

Mais rien ne semble fonctionner. Peut-être que le problème est dans la show méthode, mais je ne sais pas.

- Vous l'image n'est pas tourné, il est retourné verticalement.

OriginalL'auteur blueSurfer | 2012-07-31