при чтении файла tiff с помощью skimage

Я использую следующий код для чтения набора файлов tiff из папки

from PIL import image
from skimage import io
io.use_plugin('pil')
images = os.listdir(train_data_path)
for image_name in images:
    img = io.imread(os.path.join(train_data_path, image_name))

При запуске приведенного выше кода большинство файлов читались гладко. Но я обнаружил, что программа будет генерировать предупреждающее сообщение для определенного файла.

/devl/lib/python3.4/site-packages/scikit_image-0.12.3-py3.4-linux-x86_64.egg/skimage/external/tifffile/tifffile.py:1794: RuntimeWarning: py_decodelzw encountered unexpected end of stream                                  
strip = decompress(strip)      

Открывая этот файл, я не вижу явных отличий от других. Что может лежать в основе этого?


person user785099    schedule 20.10.2016    source источник
comment
Здесь та же проблема...   -  person honeymoon    schedule 11.11.2016
comment
Я столкнулся с той же проблемой, только мое изображение определенно выглядело иначе (и неправильно) по сравнению с правильно открытым изображением.   -  person Masterfool    schedule 11.04.2017


Ответы (1)


У меня была такая же ошибка, и я решил ее, явно установив плагин в вызове imread:

img = imread(img_path, plugin='pil')

Согласно документам skimage.io.imread:

plugin : str, необязательный подключаемый модуль для загрузки. По умолчанию None, и в этом случае используется первый соответствующий плагин.

Так что, возможно, imread нашел плагин Tifffile, который выдавал ошибку (по какой-то причине), тогда как PIL правильно читает файлы. Я не знаю источник ошибки Tifffile.

person Chris Parry    schedule 20.07.2018