diff --git a/skimage/io/_plugins/pil_plugin.py b/skimage/io/_plugins/pil_plugin.py index eb6467df..9a56c0be 100644 --- a/skimage/io/_plugins/pil_plugin.py +++ b/skimage/io/_plugins/pil_plugin.py @@ -29,7 +29,11 @@ def imread(fname, dtype=None): """ im = Image.open(fname) - return pil_to_ndarray(im, dtype) + try: + return pil_to_ndarray(im, dtype) + except IOError: + raise ValueError('Could not load "%s": make sure you have library ' + 'support for "%s" files' % (fname, im.format)) def pil_to_ndarray(im, dtype=None): @@ -55,6 +59,8 @@ def pil_to_ndarray(im, dtype=None): im.shape = shape[::-1] elif 'A' in im.mode: im = im.convert('RGBA') + # this will raise an IOError if the file is not readable + im.getdata()[0] im = np.array(im, dtype=dtype) if fp is not None: fp.close()