Mahotas 教程

Mahotas - 主页 Mahotas - 简介 Mahotas - 计算机视觉 Mahotas - 历史 Mahotas - 功能 Mahotas - 安装

Mahotas 处理图像

Mahotas - 处理图像 Mahotas - 加载图像 Mahotas - 将图像加载为灰色 Mahotas - 显示图像 Mahotas - 显示图像形状 Mahotas - 保存图像 Mahotas - 图像的质心 Mahotas - 图像的卷积 Mahotas - 创建 RGB 图像 Mahotas - 图像的欧拉数 Mahotas - 图像中的零分数 Mahotas - 获取图像矩 Mahotas - 图像中的局部最大值 Mahotas - 图像椭圆轴 Mahotas - 图像拉伸 RGB

Mahotas 颜色空间转换

Mahotas - 颜色空间转换 Mahotas - RGB 到灰度转换 Mahotas - RGB 到 LAB 转换 Mahotas - RGB 转棕褐色 Mahotas - RGB 到 XYZ 转换 Mahotas - XYZ 到 LAB 转换 Mahotas - XYZ 到 RGB 转换 Mahotas - 增加伽马校正 Mahotas - 拉伸伽马校正

Mahotas 标记图像函数

Mahotas - 标记图像函数 Mahotas - 标记图像 Mahotas - 过滤区域 Mahotas - 边界像素

Mahotas - 形态学操作

Mahotas - 形态运算符 Mahotas - 查找图像平均值 Mahotas - 裁剪图像 Mahotas - 图像偏心率 Mahotas - 叠加图像 Mahotas - 图像圆度 Mahotas - 调整图像大小 Mahotas - 图像直方图 Mahotas - 扩大图像 Mahotas - 腐蚀图像 Mahotas - 分水岭 Mahotas - 图像的开运算过程 Mahotas - 图像的闭合过程 Mahotas - 填补图像中的空洞 Mahotas - 条件性膨胀图像 Mahotas - 条件腐蚀图像 Mahotas - 图像的条件分水岭 Mahotas - 图像中的局部最小值 Mahotas - 图像的区域最大值 Mahotas - 图像的区域最小值

Mahotas - 高级概念

Mahotas - 图像阈值 Mahotas - 设置阈值 Mahotas - 软阈值 Mahotas - Bernsen 局部阈值 Mahotas - 小波变换 Mahotas - 制作图像小波中心 Mahotas - 距离变换 Mahotas - 多边形实用程序 Mahotas - 局部二元模式 Mahotas - 阈值邻接统计 Mahotas - Haralic 特征 Mahotas - 标记区域的权重 Mahotas - Zernike 特征 Mahotas - Zernike 矩 Mahotas - 等级过滤器 Mahotas - 2D 拉普拉斯过滤器 Mahotas - 多数过滤器 Mahotas - 均值滤波器 Mahotas - 中值滤波器 Mahotas - Otsu 方法 Mahotas - 高斯滤波 Mahotas - 命中与未命中变换 Mahotas - 标记最大值数组 Mahotas - 图像平均值 Mahotas - SURF 密集点 Mahotas - SURF 积分 Mahotas - Haar 变换 Mahotas - 突出显示图像最大值 Mahotas - 计算线性二进制模式 Mahotas - 获取标签边框 Mahotas - 逆 Haar 变换 Mahotas - Riddler-Calvard 方法 Mahotas - 标记区域的大小 Mahotas - 模板匹配 Mahotas - 加速稳健特征 Mahotas - 移除带边框的标签 Mahotas - Daubechies 小波 Mahotas - Sobel 边缘检测



Mahotas - 标记图像函数

图像标记是一种数据标记过程,涉及识别图像中的特定特征或对象,添加有意义的信息以选择和分类这些对象。

  • 它通常用于生成机器学习模型的训练数据,特别是在计算机视觉领域。
  • 图像标记有广泛的应用,包括物体检测、图像分类、场景理解、自动驾驶、医学成像等。
  • 它允许机器学习算法从标记数据中学习,并根据提供的注释做出准确的预测或识别。

用于标记图像的函数

以下是 mahotas − 中用于标记图像的不同函数

S.No 函数 &描述
1 label()

此函数对二值图像执行连通分量标记, 在一行中为连通区域分配唯一标签。

2 labeled.label()

此函数将从 1 开始的连续标签分配给图像的不同区域。

3 labeled.filter_labeled()

此函数将过滤器应用于图像的选定区域,同时保持其他区域不变。

现在,让我们看一些这些函数的示例。

label() 函数

mahotas.label() 函数用于标记数组,它被解释为二进制数组。这也称为标记的连接组件,其中连接由结构元素定义。

示例

以下是使用 label() 函数标记图像的基本示例 −

import mahotas as mh
import numpy as np
from pylab import imshow, show
# 创建二进制图像
image = np.array([[0, 0, 1, 1, 0],
[0, 1, 1, 0, 0],
[0, 0, 0, 1, 1],
[0, 0, 0, 0, 1],
[0, 1, 1, 1, 1]], dtype=np.uint8)
# 执行连通分量标记
labeled_image, num_labels = mh.label(image)
# 打印标记图像和标签数量
print("Labeled Image:")
print(labeled_image)
print("Number of labels:", num_labels)
imshow(labeled_image)
show()

输出

执行上述代码后,我们得到以下输出 −

Labeled Image:
[[0 0 1 1 0]
[0 1 1 0 0]
[0 0 0 2 2]
[0 0 0 0 2]
[0 2 2 2 2]]
Number of labels: 2

获得的图像如下所示 −

Labeling Images

labeled.label() 函数

mahotas.labeled.label() 函数用于将标签值更新为连续顺序。生成的连续标签将是一个新的带标签图像,标签从 1 开始连续分配。

在此示例中,我们从由 NumPy 数组表示的带标签图像开始,其中标签是非连续的。

示例

以下是使用 labeled.label() 函数 − 标记图像的基本示例

import mahotas as mh
import numpy as np
from pylab import imshow, show
# 创建带有非连续标签的带标签图像
labeled_image = np.array([[0, 0, 1, 1, 0],
[0, 2, 2, 0, 0],
[0, 0, 0, 3, 3],
[0, 0, 0, 0, 4],
[0, 5, 5, 5, 5]], dtype=np.uint8)
# 将标签值更新为连续的
sequential_labels, num_labels = mh.labeled.label(labeled_image)
# 打印更新后的带标签图像
print("Sequential Labels:")
print(sequential_labels)
imshow(sequential_labels)
show()

输出

得到的输出如下 −

Sequential Labels:
[[0 0 1 1 0]
[0 1 1 0 0]
[0 0 0 2 2]
[0 0 0 0 2]
[0 2 2 2 2]]

以下是生成的图像 −

Labeling Images1

我们在本节的其余章节中详细讨论了这些功能。