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 - 图像圆度

图像圆度是指图像中物体或区域与完美圆形的相似程度。它是用来量化圆度或偏离圆度的度量。

圆度值是通过将物体的形状与圆形的形状进行比较来计算的。

完美圆形的物体的圆度值接近 1,而形状更细长或不规则的物体的圆度值更接近 0。

Mahotas 中的图像圆度

在 Mahotas 中,我们可以使用 mahotas.features.roundness() 函数计算物体的圆度。此函数以二进制图像作为输入。

二进制图像是每个像素被分类为前景(感兴趣的对象)或背景的图像。一般情况下,前景像素用白色(像素值 = 1)表示,背景像素用黑色(像素值 = 0)表示。

输入的二值图像应为布尔格式,或表示为具有布尔值的 NumPy 数组。

mahotas.features.roundness() 函数

'mahotas.features.roundness()' 函数接受二值图像作为输入,并返回 0 到 1 之间的浮点值。值越接近 1.0,形状越接近完美的圆形。

语法

以下是 mahotas − 中 roundness() 函数的基本语法

mahotas.features.roundness(image)

其中, 'image' 是布尔图像输入。

示例

在下面的例子中,我们使用 roundness() 函数 − 查找图像的圆度

import mahotas as mh
import numpy as np
image = mh.imread('sun.png', as_grey = True)
roundness = mh.features.roundness(image)
print("图像的圆度= ", roundness)

输出

获得的输出如下 −

图像的圆度 = 4.98542867728303e-05

二值图像中的 Blob 圆度

Blob 圆度是指衡量 Blob 与完美圆形的相似程度。圆度值接近 1 表示 Blob 更圆,而值明显低于 1 表示形状更细长或不规则。

要使用 Mahotas 计算二值图像中的 Blob 圆度,我们需要拍摄一张前景(Blob)和背景之间有明显分离的图像。然后,标记二值图像中的 Blob,为每个 Blob 分配一个唯一标识符(索引)。

它有助于区分单个 Blob。随后,计算每个标记的斑点的圆度。

示例

在这里,我们尝试计算二值图像中的斑点圆度 −

import mahotas as mh
import numpy as np
image = mh.imread(tree.tiff', as_grey=True)
# Labelling the blobs in the image
labeled, _ = mh.label(image)
# Computing the roundness of each blob
roundness = mh.features.roundness(labeled)
print("Blob Roundness:", roundness)

输出

上述代码的输出如下 −

Blob Roundness: 2.0659091361803767

使用 zernike_moment

Zernike 矩是图像中物体形状的数学表示。

它通过分析物体内部强度或颜色变化的分布来捕获图像的圆度和其他形状属性。

要使用 Zernike 矩确定图像的圆度,我们首先指定一个半径值。此半径决定了将在其中计算矩的圆形区域的大小。

选择较小的半径是分析较小物体的理想选择,而较大的半径更适合较大的物体。

一旦我们计算出 Zernike 矩,第一个矩在评估图像圆度时就变得尤为重要。它是图像中物体整体圆度的代表性度量。

通过从 Zernike 矩列表中提取第一个元素,我们获得了一个可以准确量化物体圆度的特定值。

示例

在这里,我们尝试使用 Zernike 矩 − 找到图像圆度

import mahotas as mh
image = mh.imread('nature.jpeg', as_grey = True)
# 设置计算 Zernike 矩的半径
radius = 10
# 计算 Zernike 矩
moments = mh.features.zernike_moments(image, radius=radius)
# 第一个 Zernike 矩代表圆度
roundness = moment[0]
print(roundness)

输出

执行上述代码后,我们得到如下所示的输出 −

0.3183098861837907