1
У меня есть серия изображений TIFF для загрузки в Python.Загрузить изображение TIFF как массив numpy
Сначала я использую:
im=Image.open(*)
Он загружает и отображает должным образом.
>>> im
PIL.TiffImagePlugin.TiffImageFile image mode=I;16 size=1408x1044 at 0x116154050
>>> type(im)
instance
>>> im.size
(1408, 1044)
Затем я использую:
imarray=numpy.array(im)
где
>>> imarray.shape
()
>>> imarray.size
1
>>> type(imarray)
numpy.ndarray
>>> imarray
array(PIL.TiffImagePlugin.TiffImageFile image mode=I;16 size=1408x1044 at 0x116154050, dtype=object)
Я прочитал this previous post и следовали инструкциям, но я не могу получить imarray.shape
и im.size
, чтобы соответствовать.
Это может иметь отношение к вашей версии PIL. Вы пробовали предлагаемые решения [здесь] (http://stackoverflow.com/q/15284601/190597)? – unutbu
Если вы планируете делать ** любой тип манипуляции с изображениями, я бы предложил использовать OpenCV. Они имеют привязки Python и делают вашу жизнь намного проще, включая автоматическое преобразование изображений в массивы numpy. – KronoS
@KronoS OpenCV * массивный * overkill для простого ввода изображений. [Pillow] (https://pillow.readthedocs.org/) или даже [matplotlib] (http://stackoverflow.com/a/15293007/1461210) предлагают гораздо более легкие решения. –