Mahotas:计算机视觉库
项目描述
马霍塔斯
Python 计算机视觉库
Mahotas 是一个在 numpy 数组上运行的快速计算机视觉算法库(全部用 C++ 实现以提高速度)。
支持 Python 版本 2.7、3.4+。
值得注意的算法:
- 分水岭
- 凸点计算。
- 命中与错过,变薄。
- Zernike & Haralick、LBP 和 TAS 特征。
- Speeded-Up Robust Features (SURF),一种局部特征的形式。
- 阈值。
- 卷积。
- 索贝尔边缘检测。
- 样条插值
- SLIC 超像素。
Mahotas 目前拥有超过 100 种用于图像处理和计算机视觉的功能,并且还在不断增长。
发布计划大约是每月发布一个版本,每个版本都会带来新功能和改进的性能。不过,该接口非常稳定,并且使用多年前的 mahotas 版本编写的代码在当前版本中可以正常工作,只是它会更快(某些接口已弃用,几年后将被删除,但在同时,您只会收到警告)。在一些不幸的情况下,旧代码中存在错误,您的结果会变得更好。
如果您在出版物中使用它,请引用mahotas 论文(请参阅下面的引文中的详细信息)。
例子
这是一个使用高于阈值区域作为种子调用分水岭的简单示例(使用 mahotas 附带的示例文件)(我们使用 Otsu 定义阈值)。
# import using ``mh`` abbreviation which is common:
import mahotas as mh
# Load one of the demo images
im = mh.demos.load('nuclear')
# Automatically compute a threshold
T_otsu = mh.thresholding.otsu(im)
# Label the thresholded image (thresholding is done with numpy operations
seeds,nr_regions = mh.label(im > T_otsu)
# Call seeded watershed to expand the threshold
labeled = mh.cwatershed(im.max() - im, seeds)
这是一个非常简单的使用示例mahotas.distance(计算距离图):
import pylab as p
import numpy as np
import mahotas as mh
f = np.ones((256,256), bool)
f[200:,240:] = False
f[128:144,32:48] = False
# f is basically True with the exception of two islands: one in the lower-right
# corner, another, middle-left
dmap = mh.distance(f)
p.imshow(dmap)
p.show()
(这是在mahotas/demos/distance.py下。)
如何调用阈值函数:
import mahotas as mh
import numpy as np
from pylab import imshow, gray, show, subplot
from os import path
# Load photo of mahotas' author in greyscale
photo = mh.demos.load('luispedro', as_grey=True)
# Convert to integer values (using numpy operations)
photo = photo.astype(np.uint8)
# Compute Otsu threshold
T_otsu = mh.otsu(photo)
thresholded_otsu = (photo > T_otsu)
# Compute Riddler-Calvard threshold
T_rc = mh.rc(photo)
thresholded_rc = (photo > T_rc)
# Now call pylab functions to display the image
gray()
subplot(2,1,1)
imshow(thresholded_otsu)
subplot(2,1,2)
imshow(thresholded_rc)
show()
如您所见,我们依赖 numpy/matplotlib 进行许多操作。
安装
如果您使用的是conda ,则可以使用以下命令从 conda - forge 安装 mahotas :
conda config --add channels conda-forge
conda install mahotas
从源代码编译
您将需要 python(自然)、numpy 和 C++ 编译器。然后你应该能够使用:
pip install mahotas
您可以通过运行来测试您的安装:
python -c "import mahotas as mh; mh.test()"
如果您遇到问题,该手册有更多关于 mahotas 安装的文档,包括如何为多个平台查找预构建的。
引文
如果您在已发表的出版物上使用 mahotas,请引用:
Luis Pedro Coelho Mahotas:用于可编写脚本的计算机视觉的开源软件,《开放研究软件杂志》,第 1 卷,2013 年。 [ DOI ]
在中文提供格式:
@article{mahotas, author = {Luis Pedro Coelho}, title = {Mahotas: Open source software for scriptable computer vision}, journal = {Journal of Open Research Software}, year = {2013}, doi = { http:// dx.doi.org/10.5334/jors.ac},月 = {7 月},成交量 = {1} }
您可以使用该mahotas.citation()功能访问此信息。
发展
开发在 github ( http://github.com/luispedro/mahotas ) 上进行。
您可以DEBUG在编译之前设置环境变量以获得调试版本:
export DEBUG=1
python setup.py test
您可以将其设置为该值2以获得额外的检查:
export DEBUG=2
python setup.py test
请注意不要在生产中使用它,除非您正在寻找错误。调试级别 2 非常慢,因为它添加了许多运行时检查。
mahotas 源附带的Makefile也很有用。make debug将创建一个调试版本。make fast将创建一个非调试版本(您需要make clean介于两者之间)。make test将运行测试套件。
链接和联系人
文档: https ://mahotas.readthedocs.io/
问题跟踪器:github mahotas 问题
邮件列表:使用pythonvision 邮件列表提出问题、提交错误等。或者在stackoverflow 上提问(标记 mahotas)
主要作者和维护者:Luis Pedro Coelho (关注twitter或 github)。
Mahotas 还包括 Zachary Pincus [来自 scikits.image]、Peter J. Verveer [来自 scipy.ndimage] 和 Davis King [来自 dlib]、Christoph Gohlke 以及 其他人的代码。
对于 Python 中计算机视觉的更一般性讨论, pythonvision 邮件列表是一个更好的场所,它会在未来为其他人生成一个公共讨论日志。您可以将它用于 Python 问题中的 mahotas 或一般计算机视觉。
近期变动
版本 1.4.9(2019 年 11 月 12 日)
- 修复 FreeImage 检测(问题 #108)
版本 1.4.8(2019 年 10 月 11 日)
- 修复共现矩阵计算(@databaaz 提供的补丁)
版本 1.4.7(2019 年 7 月 10 日)
- 修复 Windows 上的编译
版本 1.4.6(2019 年 7 月 10 日)
- 使 >2³¹ 体素的分水岭工作(问题 #102)
- 从演示中删除牛奶
cwatershed()通过避免在、majority_filter()和 颜色转换中不必要的数组复制来提高性能- 修复插值中的错误
1.4.5 版(2018 年 10 月 20 日)
- 将代码升级到更新的 NumPy API(问题 #95)
版本 1.4.4(2017 年 11 月 5 日)
- 修复 Bernsen 阈值处理中的错误(问题 #84)
版本 1.4.3(2016 年 10 月 3 日)
- 修复分发(添加丢失的
README.md文件)
版本 1.4.2(2016 年 10 月 2 日)
- 修复
resize\_to准确返回请求的大小 - 修复在负值数组上计算纹理时的硬崩溃(问题 #72)
distance为 haralick 功能添加了参数(拉取请求 #76,由 Guillaume Lemaitre 撰写)
版本 1.4.1(2015 年 12 月 20 日)
- 添加
filter\_labeled功能 - 修复 32 位平台和旧版本 numpy 上的测试
1.4.0 版(2015 年 7 月 8 日)
- 添加
mahotas-features.py脚本 - 向 citation() 函数添加短参数
- 将 max_iter 参数添加到 thin() 函数
- 修复了没有背景时的 label.bbox(问题 #61,由 Daniel Haehn 报告)
- bbox 现在允许尺寸大于 2(包括使用
as_sliceandborder参数时) - 尺寸大于 2 的扩展裁剪框
- 向 haralick 功能添加了 use_x_minus_y_variance 选项
- 添加功能
lbp_names
1.3.0 版(2015 年 4 月 28 日)
- 改进 freeimage.write_multipage 中的内存处理
- 修复矩参数交换
- 添加labeled.bbox函数
- 将 return_mean 和 return_mean_ptp 参数添加到 haralick 函数
- 添加高斯滤波器的差分(由王建宇)
- 添加拉普拉斯滤波器(王建宇)
- 修复传递不匹配参数时中值过滤器崩溃的问题
- 修复 ndim > 2 的 gaussian_filter1d
版本 1.2.4(2014 年 12 月 23 日)
- 添加基于 PIL 的 IO
版本 1.2.3(2014 年 11 月 8 日)
- 在顶层导出 mean_filter
- 修复 Zernike 矩计算(由 Sergey Demurin 报告)
- 在没有 npy_float128 的平台上修复编译(Gabi Davar 的补丁)
版本 1.2.2(2014 年 10 月 19 日)
- 将 minlength 参数添加到labeled_sum
- 泛化 regmax/regmin 以处理浮点图像
- 允许浮点输入
cwatershed() - 正确检查 float16 和 float128 输入
- 将 sobel 变成纯函数(即不对其输入进行归一化)
- 修复sobel过滤
1.2.1 版(2014 年 7 月 21 日)
- 在 setup.py 中显式设置 numpy.include_dirs() [Andrew Stromnov 的补丁]
1.2 版(2014 年 7 月 17 日)
- 在 mahotas 命名空间级别导出 locmax|locmin
- 将 ellipse_axes 从偏心代码中分离出来,因为它本身就很有用
- 添加
find()功能 - 添加
mean_filter()功能 - 修复
cwatershed()溢出的可能性 - 使标签函数在接受更多类型时更加灵活
- 修复 nD 图像崩溃
close_holes()(对于 n > 2) - 删除 matplotlibwrap
- 使用标准 setuptools 进行构建(而不是 numpy.distutils)
- 添加
overlay()功能
1.1.1 版(2014 年 7 月 4 日)
- 使用 nD 图像修复 close_holes() 崩溃(对于 n > 2)
1.1.0(2014 年 2 月 12 日)
- 更好的错误检查
- 使用 1 阶修复整数图像的插值
- 添加 resize_to & resize_rgb_to
- 添加工作服覆盖范围
- 修复 SLIC 超像素连接
- 添加 remove_regions_where 函数
- 修复卷积中的硬崩溃
- 修复 convolve1d 中的轴处理
- 为矩计算添加归一化
请参阅 旧版本的变更日志。
执照
项目详情
mahotas_nh -1.4.10-cp38-cp38-win_amd64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | dd9fbf4f09487a98a7766bdee2e40399d664f3c6ca0441e346469df33a2f22e6 |
|
| MD5 | a084d8e2a37c111aefc2c43a98455bf8 |
|
| 布莱克2-256 | b5a24a9429ca34ecfb83cb09e9dfa53327f75c840d8ef852c778e7bc4d5d0326 |
mahotas_nh -1.4.10-cp38-cp38-win32.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 9e0877c1a41319ff21fb97ba700d279b9b0692a179914fc41e8a75a7d0158f5d |
|
| MD5 | 597b053ce60f0b916507369acccdf9d3 |
|
| 布莱克2-256 | 3999c8ae3238545d9af53ade10fe76b4b42763a07c201a4bc76f3268fc88668c |
mahotas_nh -1.4.10-cp38-cp38-manylinux2010_x86_64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | f1d718c9ba6603b4d0bf5f97f4793d950225cf09416157346c4496179e578fc6 |
|
| MD5 | a8ddc61cd43843fe07d02648c9b13dd9 |
|
| 布莱克2-256 | 3716e179f9ea62b19d40bad8d14420b7439d70a799d8bb7b6d356d31e0b65379 |
mahotas_nh -1.4.10-cp38-cp38-macosx_10_14_x86_64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | c5cbd49d7130779d52bcf994bf443c5a6cbac3a822079f782a682451f4236c01 |
|
| MD5 | 3e75a69cd6d231a2bc5d13dc78d54153 |
|
| 布莱克2-256 | f787861c8d17e57c2d50eb389cc556ce75ccd2273b15dfc24865571e8da86d4c |
mahotas_nh -1.4.10-cp37-cp37m-win_amd64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | e890ff0bf0ed8c78bcc9c70938a71fae2a539969c682675042f2cb23888c791f |
|
| MD5 | f751cb7b5c3f3d84c63f88eefa69df9d |
|
| 布莱克2-256 | c8f76c629a03aee7bab2b8dfc145351191ce9e81eeaab526c012c03c964a66f7 |
mahotas_nh -1.4.10-cp37-cp37m-win32.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 7001d9639c4210d7be962a521460775d491c222d806b825762dbef3be56afc41 |
|
| MD5 | 6ac931ab02b461a00b6efaf37d169f78 |
|
| 布莱克2-256 | 15fbb2850b0994d8b1a8a1488b0f5ac8b7880ca1e03abd7054af1710b3fed7c9 |
mahotas_nh -1.4.10-cp37-cp37m-manylinux2010_x86_64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 1b3029eda1aaf24576061e3bbce2dee65cb396e38b54336690493e570234e3a8 |
|
| MD5 | fd9eaf564d08f96640b0e76a8661a3c8 |
|
| 布莱克2-256 | e11ab07c2a82a31e7342440632c28c620263a0920bcac7815707012c706fb7ee |
mahotas_nh -1.4.10-cp37-cp37m-macosx_10_14_x86_64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | e6128790b8d325660946674f50df3e785ef262d3865eef869d2e882a279b6c9e |
|
| MD5 | 3810bf57b10e5941592e7de54d8e1dfd |
|
| 布莱克2-256 | a5dc47b78ad8641c5c83b46456b17f8c82d837ebda9f829428bf123701f3fd25 |
mahotas_nh -1.4.10-cp36-cp36m-win_amd64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 00c990f2aea36a7eaf3bf61ee3f6fb2076b912998c82792261e3c27296170fa9 |
|
| MD5 | f213a84e833e3006e047d734cf6a75ba |
|
| 布莱克2-256 | 3a2aba30342ec53b973170ad5bc4b8c385c01b04192878c9e82f0e697d53f4a3 |
mahotas_nh -1.4.10-cp36-cp36m-win32.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | c19c7b2fc05e170aaab449475099c976da572a1e20dae327dd857171800aec04 |
|
| MD5 | dbe49c8ab23a4cec02113799a1fc92c1 |
|
| 布莱克2-256 | bc507c4d0733252534d99d0e65fd00c138ecf7bf752492cefe6da9bfeaefcd21 |
mahotas_nh -1.4.10-cp36-cp36m-manylinux2010_x86_64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 27523cd5901610f41f2756f3f73ece7e37e706fb330cae5e9bf88dda5b42825c |
|
| MD5 | 026ed9792dbf4d5790c61a356bcd8ae0 |
|
| 布莱克2-256 | 4ebe9f8d36a1681b1a06e0fb0d8ebed26eba873352a17b1db27786cc571b0160 |
mahotas_nh -1.4.10-cp36-cp36m-macosx_10_14_x86_64.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 08dd39f206f3f0ad9dab3e0fcef50641be3bec84d63fe16e6436c8b731dc5b28 |