title: Problems saving arrays as greyscale 'L' images using matplotlib?
body: <p>I'm trying to save an array as an image using <code>plt.imsave()</code>. The original image is a 16 greyscale 'L' tiff. But I keep on getting the error:</p>
  <pre><code>Attribute error: 'str' object has no attribute 'shape'
      figsize = [x / float(dpi) for x in (arr.shape[1], arr.shape[0])]
  </code></pre>
  <hr />
  <pre><code>import matplotlib.pyplot as plt
  import matplotlib.image as mpimg
  import numpy as np 
  from PIL import Image
  
  im2=plt.imread('C:\Documents\Image\pic.tif')
  plt.imsave(im2, '*.tif')
  </code></pre>
  <p>The image is 2048x2048, the array is 2048Lx2048L. Everything I've tried doesn't work: <code>shape=[2048,2048]</code>, <code>im2.shape(2048,2048)</code>. Can anybody tell me out how to add shape as a keyword argument? Or is there any easier way to do this, preferably avoiding PIL, since it seems to have issues with 16-bit greyscale tiffs and I absolutely have to use that format?</p>