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 - 查找图像平均值

当我们谈论查找图像平均值时,我们指的是计算图像中所有像素的平均强度值。

数字图像中的每个像素都由与其强度或颜色信息相对应的数值表示。

强度值的范围取决于图像的颜色深度,例如灰度图像为 8−bit(0−255),彩色图像为 24−bit(每个颜色通道为 0−255)。

查找图像平均值涉及将图像中所有像素的强度值相加,然后除以总像素数。

此过程提供一个表示图像平均强度的单个值。它可以被解释为图像的整体亮度或强度级别。

在 Mahotas 中查找图像平均值

我们可以使用 mahotas.mean() 函数在 Mahotas 中查找图像平均值。此函数接受一个图像数组并返回其平均值。

众所周知,Mahotas 一次只能找到一个通道的平均值,因此我们需要将彩色图像转换为单个通道以找到该通道的平均值。

mean 函数返回一个标量值,表示图像中所有像素的平均值。

语法

以下是 mean 函数 − 的基本语法

Image_name.mean()

示例

在下面的例子中,我们找到图像的平均值并以平均强度显示图像 −

import mahotas as mh
import numpy as np
from pylab import imshow, show
import matplotlib.pyplot as plt
image = mh.imread('nature.jpeg', as_grey = True)
find_mean = image.mean()
print("图像的平均值是:", find_mean)
imshow(image,cmap='gray')
show()

输出

图像的平均值是:134.99541438411237

显示的图像如下所示 −

Finding Image mean

每个通道的图像平均值

我们还可以使用 Mahotas 找到 RGB 图像中每个通道的平均值。首先,计算整个图像的平均值,然后使用数组切片分别计算每个通道的平均值。

切片 image[:, :, 0] 对应于通道 0(红色),image[:, :, 1] 对应于通道 1(绿色),image[:, :, 2] 对应于通道 2(蓝色)。它使用 mean() 函数计算每个通道的平均值并打印结果。

示例

在此示例中,我们尝试找到图像各个通道的平均值 −

import mahotas as mh
import numpy as np
image = mh.imread('sun.png')
# 计算整个图像的平均值
print("图像的平均值:{0}".format(image.mean()))
# 计算通道 0(红色)的平均值
img0 = image[:, :, 0]
print('通道 0 的平均值:{0}'.format(img0.mean()))
# 计算通道 1(绿色)的平均值
img1 = image[:, :, 1]
print('通道 1 的平均值:{0}'.format(img1.mean()))
# 计算通道 2(蓝色)的平均值
img2 = image[:, :, 2]
print('通道 2 的平均值: {0}'.format(img2.mean()))

输出

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

图像的平均值:105.32921300415184
通道 0 的平均值:126.04734671559905
通道 1 的平均值:106.04269535883749
通道 2 的平均值:83.89759693801898

查找图像中 ROI 的平均值

我们可以使用图像数组上的切片操作来查找图像中感兴趣区域 (ROI) 的平均值。之后,计算 ROI 内所有通道的平均值(如果图像是彩色的)或灰度值的平均值(如果图像是灰度的)。

以下是定义图像 ROI 的语法 −

image[start_row:end_row, start_column:end_column]

其中,'start_row' 和 'end_row' 表示行的范围,'start_column' 和 'end_column' 表示定义 ROI 的列的范围。

因此,为了指定图像内的感兴趣区域,我们选择行和列的子集。

示例

在这里,我们正在求出图像感兴趣区域的平均值 −

import mahotas as mh
import numpy as np
image = mh.imread('tree.tiff')
# 定义特定感兴趣区域
roi = image[100:300, 200:400]
roi_mean = np.mean(roi)
print("图像的平均值是:", roi_mean)

输出

上述代码的输出如下 −

图像的平均值是:98.556925