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