pillow/PIL

pillow/PIL を利用してサイズの大きい画像を読み込む時に失敗して、次のようなエラーが発生することがある。skimage などのパッケージも内部で pillow/PIL を使用している場合がある。対処方法をここにメモ。

  File "/home/user/.pyenv/versions/venv/lib/python3.6/site-packages/imageio/plugins/pillow.py", line 293, in _open
    return PillowFormat.Reader._open(self, pilmode=pilmode, as_gray=as_gray)
  File "/home/user/.pyenv/versions/venv/lib/python3.6/site-packages/imageio/plugins/pillow.py", line 137, in _open
    pil_try_read(self._im)
  File "/home/user/.pyenv/versions/venv/lib/python3.6/site-packages/imageio/plugins/pillow.py", line 529, in pil_try_read
    raise ValueError(error_message)
ValueError: Could not load ""
Reason: "image file is truncated"
Please see documentation at: http://pillow.readthedocs.io/en/latest/installation.html#external-libraries

このと場合、Python のコードに次の 2 行を追加することで解決できる。

from PIL import ImageFile 
ImageFile.LOAD_TRUNCATED_IMAGES = True