5

嗨,我是 Python 新手,正在关注Python Image Tutorial

安装教程中描述的包后,以下执行没有错误

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 并且可以毫无问题地导入它,但它没有帮助。我尝试使用包 sys 添加到 Python 路径,但也无济于事。

编辑:我应该提到除了 pymorph 和 mahotas 之外的所有软件包都安装在我的 linux 机器上,执行“*sudo apt-get install package_name*”,而 pymorph 和 mahotas 是通过下载和执行“ sudo python setup.py install ”安装的。

4

1 回答 1

2

回答更新版本的 mahotas

Mahotas 本身没有读取图像的功能。imread 只是 3 个后端之一的包装器:

  1. mahotas-imread(即https://pypi.python.org/pypi/imread
  2. 免费图片
  3. matplotlib(仅支持 PNG 和 JPEG)

因此,您需要安装上述软件包之一。Freeimage 可以安装在 Ubuntu 上,如下所述。

如果您在 Windows 上运行,您可能希望尝试Christoph Gohlke 的软件包

原始答案(对于旧版本的 mahotas)

您需要安装 freeimage 才能使用mahotas.imread(没有它,其他一切实际上都可以工作,这是一个可选的依赖项)。这本身不是 Python 包,只是一个常规库。

我不知道您在哪个发行版中,但请尝试寻找 freeimage 包。在 debian/ubuntu 上,你可以这样做:

sudo apt-get install libfreeimage3

您将libfreeimage.so/usr/lib或类似的地方有一个文件,一切都会正常工作。

于 2011-04-12T22:06:07.087 回答