cols, rows = im_gray.size
pixels = list(im_gray.getdata())
head_tail = zip(list(range(0, len(pixels) + 1, cols)), list(range(cols, len(pixels) + 
    1, cols)))
im_data = np.ndarray(shape=(cols, rows), dtype=np.uint8)
for i, (head, tail) in enumerate(head_tail):
    im_data[i] = np.array(pixels[head:tail], dtype=np.uint8)
pl.imshow(im_data, cmap='bone')
Преобразование изображения в черно-белое и использование его в качестве массива