常见问题解答¶
我怎么才能把Mahotas和水蟒一起装上呢?¶
如果您正在使用 conda ,您可以从以下位置安装mahotas conda-forge 使用以下命令:
conda config --add channels conda-forge
conda install mahotas
谁会用毛霍塔?¶
2016年6月,有 34 papers 引用了 mahotas paper
为什么你不简单地为 scipy.ndimage
或 scikits.image
?¶
当我开始这个项目时(尽管它不叫mahotas,它更像是一个半有组织的例程的集合,而不是一个项目),没有 scikits.image
。
与此同时,所有这些项目的内部理念都截然不同。 ndimage
是老式的Scipy,用C语言写,带有宏。 scikits.image
广泛使用Cython,而 mahotas
使用C++和模板。我不想使用Cython,因为我发现它还没有建立好,而且当时不能用它来编写在多种类型上运行的函数(就像使用C++模板一样)。Scipy社区不想使用C++。
另一方面,我从ndimage获取代码,并将其移植到C++中用于mahotas。在这个过程中,我觉得它的代码要干净得多(因为您可以使用RAII、异常和模板),我希望保持这种方式。
无论如何,我们都使用相同的数据格式:NumPy数组。很容易(真的很简单)一起使用所有的包,并从每个包中获取您想要的任何功能。所有的包都使用基于函数的接口,这使得混合和匹配变得很容易。
我在计算16位图像上的Haralick特征时内存不足。它不受支持吗?¶
是的,它是受支持的,但您的计算机可能不够大,无法进行计算。为了计算Haralick特征,首先计算共生矩阵。这个矩阵的大小是 (ngrey, ngrey)
哪里 ngrey
是输入中最大的灰度值。因此,如果您的图像具有非常高的动态范围(即, ngrey
较大),则可能没有计算共生矩阵的资源。
这通常是一个好主意,对比拉伸你的图像。例如,使用以下代码将图像拉伸到0-255范围:
im_stretched = mh.stretch(im)
features = mh.features.haralic(im_stretched)
动态范围不太大的16位图像(例如,一些成像设备只能真正产生12位,因此 ngrey < 4096
)都不是问题。
本地二进制模式的参数是什么?¶
阅读上的文档 local binary patterns 。
我在一份科学出版物中使用了mahotas,有引用吗?¶
如果您在科学出版物中使用mahotas,请引用:
科埃略,L.P.,2013年。Mahotas:用于可编写脚本的计算机视觉的开源软件。《开放研究软件杂志》1(1),DOI:https://dx.doi.org/10.5334/jors.ac
BibTeX格式:
@article{coelho:mahotas,
title = {Mahotas: Open source software for scriptable computer vision},
author = {Luis Pedro Coelho},
journal = {Journal of Open Research Software},
year = {2013},
volume = {1},
doi = {10.5334/jors.ac},
url = {https://dx.doi.org/10.5334/jors.ac}
}
可在Python中使用以下命令进行访问 mahotas.citation()
。
ImRead找不到FreeImage¶
Mahotas本身不具备读取图像的功能(请参阅 I/O section 。
功能,如 imread
只是两个后端之一的包装器:
Mahotas-imad(即,https://pypi.python.org/pypi/imread)
FreeImage
因此,您需要安装上面的一个包。Mahotas一度支持包装matplotlib,但他们的图像加载方法并不可靠,因为它本身使用了其他包。因此,根据您安装的内容,生成的映像可能会有所不同。
如果您在Windows上运行,您可能希望尝试 Christoph Gohlke's packages 。