Conversão entre o objeto Pillow Image e a matriz numpy muda a dimensão

Estou usando o Pillow e o numpy, mas tenho um problema com a conversão entre o objeto Pillow Image e o array numpy.

Quando executo o código a seguir, o resultado é estranho.

im = Image.open(os.path.join(self.img_path, ifname))
print im.size
in_data = np.asarray(im, dtype=np.uint8)
print in_data.shape

resultado é

(1024, 768)
(768, 1024)

Por que dimensão é alterada?

questionAnswers(3)

yourAnswerToTheQuestion