title: Python Image.fromarray() doesn't accept my ndarray input which is built from a list
body: <p>I'm trying to visualize a list of 2048280 integers which are either 1's or 0's. There is a function that outputs this list from a (width=1515 height=1352) image file. The function </p>
  
  <pre><code>test_results = [(numpy.argmax(SomeFunctionReturningAnArrayForEachGivenPixel))
                      for y in xrange(1352) for x in range(1532)]
  </code></pre>
  
  <p>returns an array of size 2058280 (=1515x1352) = as expected. For each y, 1532 values of 1/0 are returned and stored in the array.</p>
  
  <p>Now, when this "test_results" array is returned, I want to save it as an image. So I np.reshape() the array to size (1352,1515,1). All is fine. Logically, I should save this list as a grayscale image. I changed the ndarray data type to 'unit8' and multiplied the pixel values by 127 or 255.</p>
  
  <p>But no matter what I do, the Image.fromarray() function keeps saying that either 'it cannot handle this data type' or 'too many dimensions' or simply gives an error. When I debug it into the Image functions, it looks like the Image library cannot retrieve the array's 'stride'! </p>
  
  <p>All the examples on the net simply reshape the list into an array and save them as an image! Is there anything wrong with my list?</p>
  
  <p>I have already tried various modes ('RGB' , 'L' , '1'). I also changed the data type of my array into uint8, int8, np.uint8(), uint32..</p>
  
  <pre><code>            result=self.evaluate(test_data,box) #returns the array
              re_array= np.asarray(result,dtype='uint8')
              res2 = np.reshape(reray,(1352,1515,1))
              res3 =(res2*255)
  
              i = Image.fromarray(res3,'1') ## Raises the exception
              i.save('me.png')
  </code></pre>