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