title: Keras can't load uint16 tiff images
body: <p>I have a uint16 tiff image.</p>
  
  <p>Keras is not correctly opening the image.  All pixel values above 255 seem to be set to 255.</p>
  
  <p>When the file is opened with Keras the returned object type is PIL.Image.Image, but when the file is opened with Pillow directly the returned object type is PIL.TiffImagePlugin.TiffImageFile.  It's like the Keras version of Pillow is not using the tiff image plugin.</p>
  
  <p>I'm using python 3.7.4 with the following packages:</p>
  
  <ul>
  <li>Keras 2.2.4</li>
  <li>keras pre-processing 2.2.4</li>
  <li>pillow 5.3.0</li>
  </ul>
  
  <p>I've looked at the <a href="https://github.com/keras-team/keras-preprocessing/blob/master/keras_preprocessing/image/utils.py" rel="nofollow noreferrer">keras pre-processing load_img source code</a>. The commands there don't seem to directly illustrate the issue, and I think it's because the tiff image plugin should have been recognized somewhere else but hasn't.</p>
  
  <pre><code>from keras.preprocessing.image import load_img
  img = load_img('someuint16.tif', color_mode='grayscale')
  print(type(img))         # prints PIL.Image.Image
  
  from PIL import Image as pil_image
  ex_pil_img = pil_image.open(path)
  print(type(ex_pil_img))  # prints PIL.TiffImagePlugin.TiffImageFile
  </code></pre>