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 中的图像质心

Mahotas 中的质心是通过为物体的每个像素分配一个质量值,然后计算这些质量值的平均位置来确定的。这会产生质心的坐标,该坐标指示物体质心在图像中的位置。

使用 mahotas.center_of_mass() 函数

mahotas.center_of_mass() 函数用于查找图像的质心。它计算图像中像素强度的平均位置(作为坐标元组),提供图像"中心"所在位置的测量值。

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

mahotas.center_of_mass(image)

其中,image 指的是您要为其找到质心的输入图像。

示例

在下面的例子中,我们正在计算图像"nature.jpeg"的质心 −

import mahotas as ms
import numpy as np
# 加载图像
image = ms.imread('nature.jpeg')
# 计算质心
com = ms.center_of_mass(image)
# 打印质心
print("图像的质心是:", com)
输出

质心以 [x, y, z] 形式的 3D 坐标表示,如以下输出所示 −

图像的质心是:[474.10456551 290.26772015 0.93327202]

使用 Numpy 函数计算质心

NumPy 函数是 NumPy 库中的内置工具,可让您轻松地在Python。

要使用 Mahotas 中的 NumPy 函数计算质心,我们需要确定图像"权重"的平均位置。这是通过将每个像素的 x 和 y 坐标乘以其强度值,对这些加权坐标求和,然后将结果除以强度总和来实现的。

以下是使用 numpy 函数 − 计算图像质心的基本语法

com = np.array([np.sum(X * Y), np.sum(A * B)]) / np.sum(C)

其中,'X' 和 'Y' 表示坐标数组,'A' 和 'B' 表示与坐标相关的值或强度相对应的数组,'C' 表示表示值或强度总和的数组强度。

示例

在这里,我们使用创建一个坐标数组。coords 的第一维表示 y 轴坐标,第二维表示 x 轴坐标。然后,在计算加权和时,我们访问 coords[1] 以获取 x 轴坐标,访问 coords[0] 以获取 y 轴坐标 −

import mahotas as mh
import numpy as np
# 加载图像
image = mh.imread('tree.tiff')
# 创建单个坐标数组
coords = np.indices(image.shape)
# 计算 x 和 y 坐标的加权和
com = np.array([np.sum(coords[1] * image), np.sum(coords[0] * image)]) /
np.sum(image)
# 打印质心
print("质心:", com)

输出

以下是上述代码的输出 −

质心:[ 7.35650493 -3.83720823]

特定区域的质心

特定区域的质心是该区域图像中感兴趣的区域。这可能是一个特定区域,例如边界框或选定区域。

特定区域的质心是通过对 ROI(感兴趣区域)中每个像素的 x 和 y 坐标取加权平均值来计算的,其中权重是像素强度。质心以两个值的元组形式返回,分别表示 x 和 y 坐标。

示例

以下是计算灰度图像感兴趣区域质心的示例 −

import mahotas as mh
import numpy as np
# 加载灰度图像
image = mh.imread('nature.jpeg', as_grey=True)
# 定义感兴趣区域
roi = image[30:90, 40:85]
# 计算 ROI 的质心
center = mh.center_of_mass(roi)
print(center)

输出

上述代码的输出如下 −

[29.50213372 22.13203391]