Невозможно найти freeimage после установки mahotas в Python

Привет, я новичок в Python и следую учебнику по Python Image.

Следующее выполняется без ошибок после установки пакетов, описанных в руководстве

import numpy
import scipy
import pylab
import pymorph
import mahotas
from scipy import ndimage

Однако, когда я пытаюсь прочитать изображение

image = mahotas.imread('picture_file.jpg')

я получил

image = mahotas.imread('image_file.jpg') Traceback (последний вызов был последним): файл "", строка 1, в файле "/usr/local/lib/python2.6/dist-packages/mahotas-0.6.4 -py2.6-linux-i686.egg / mahotas / init.py ", строка 68, в imread повысить ImportError('mahotas.imread зависит от freeimage. Не удалось найти его. Ошибка была: %s' % e) ImportError: mahotas.imread зависит от freeimage. Не смог найти это. Ошибка: mahotas.freeimage: не удалось найти libFreeImage ни в одном из следующих каталогов: '/usr/local/lib/python2.6/dist-packages/mahotas-0.6.4-py2.6-linux-i686.egg/mahotas', '/lib', '/usr/lib', '/usr/local/lib', '/opt/local/lib'

Я попытался установить FreeImagePy и могу импортировать его без проблем, но это не помогает. Я попытался добавить к пути Python, используя пакет sys, но тоже не помог.

РЕДАКТИРОВАТЬ: я должен был упомянуть, что все пакеты, кроме pymorph и mahotas, были установлены на моем linux-сервере, выполнив '* sudo apt-get install package_name *', в то время как pymorph и mahotas были установлены путем загрузки и выполнения ' sudo python setup.py install '.

1 ответ

Решение

Ответьте за более свежие версии махот

Сам Mahotas не имеет функциональности для чтения в изображениях. imread - это просто обёртка вокруг одного из 3 бэкэндов:

  1. mahotas-imread (т. е. https://pypi.python.org/pypi/imread)
  2. FreeImage
  3. matplotlib (который поддерживает только PNG и JPEG)

Таким образом, вам нужно установить один из пакетов выше. Freeimage может быть установлен на Ubuntu, как описано ниже.

Если вы работаете в Windows, вы можете попробовать пакеты Кристофа Гольке.

Оригинальный ответ (для более старых версий mahotas)

Вы должны установить freeimage, чтобы иметь возможность использовать mahotas.imread (все остальное будет работать без него, это необязательная зависимость). По сути, это не пакет Python, а обычная библиотека.

Я не знаю, в каком дистрибутиве вы находитесь, но попробуйте найти бесплатный пакет изображений. В Debian / Ubuntu вы можете просто сделать:

sudo apt-get install libfreeimage3

У вас будет файл libfreeimage.so в /usr/lib или в аналогичном месте и все будет работать.

Другие вопросы по тегам