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.wavelet_center() 函数使图像小波中心化以降低噪声。该函数执行两个主要步骤来使图像小波中心化,如下所示 −

  • 首先,它将原始图像的信号分解为小波系数。

  • 接下来,它采用近似系数(具有低频的系数),并将它们与中心频率对齐。

通过进行频率对齐,可以去除图像的平均强度,从而去除噪声。

mahotas.wavelet_center() 函数

mahotas.wavelet_center() 函数将图像作为输入,并返回一个以小波中心为原点的新图像。

它使用小波变换分解(分解−分解)原始输入图像,然后将小波系数移至频谱中心。

该函数在查找图像小波中心时会忽略指定像素大小的边界区域。

语法

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

mahotas.wavelet_center(f, border=0, dtype=float, cval=0.0)

其中,

  • f − 它是输入图像。

  • border(可选) −它是边框区域的大小(默认为 0 或无边框)。

  • dtype(可选) − 它是返回图像的数据类型(默认为浮点型)。

  • cval(可选) − 它是用于填充边框区域的值(默认为 0)。

示例

在下面的示例中,我们使用 mh.wavelet_center() 函数制作以图像为中心的小波。

import mahotas as mh
import numpy as np
import matplotlib.pyplot as mtplt
# 加载图像
image = mh.imread('sun.png')
# 将其转换为灰度
image = mh.colors.rgb2gray(image)
# 将图像居中
centered_image = mh.wavelet_center(image)
# 为子图创建图形和轴
fig, axis = mtplt.subplots(1, 2)
# 显示原始图像
axes[0].imshow(image, cmap='gray')
axes[0].set_title('Original Image')
axes[0].set_axis_off()
# 显示居中图像
axes[1].imshow(centered_image, cmap='gray')
axes[1].set_title('Centered Image')
axes[1].set_axis_off()
# 调整子图之间的间距
mtplt.tight_layout()
# 显示图
mtplt.show()
输出

以下是上述代码的输出 −

Wavelet Center Image

使用边框居中

我们可以使用边框执行图像小波居中来处理输出图像。边框区域是指图像中物体周围的区域。它将物体与背景区域或相邻物体分开。

在 mahotas 中,我们可以通过将像素值设置为零来定义在进行小波居中时不应考虑的区域。这是通过将一个值传递给 mahotas.wavelet_center() 函数的 border 参数来实现的。

在进行图像小波居中时,该函数会忽略参数中指定的像素数。例如,如果将边框参数设置为 500,则在将图像小波置于中心时将忽略所有边上的 500 个像素。

示例

在下面提到的示例中,我们在将图像小波置于中心时忽略了一定大小的边框。

import mahotas as mh
import numpy as np
import matplotlib.pyplot as mtplt
# 加载图像
image = mh.imread('sea.bmp')
# 将其转换为灰度
image = mh.colors.rgb2gray(image)
# 用边框将图像居中
centered_image = mh.wavelet_center(image, border=500)
# 为子图创建图形和轴
fig, axis = mtplt.subplots(1, 2)
# 显示原始图像
axes[0].imshow(image, cmap='gray')
axes[0].set_title('Original Image')
axes[0].set_axis_off()
# 显示居中图像
axes[1].imshow(centered_image, cmap='gray')
axes[1].set_title('Centered Image')
axes[1].set_axis_off()
# 调整子图之间的间距
mtplt.tight_layout()
# 显示图
mtplt.show()

输出

上述代码的输出如下 −

Border Image

通过应用填充来居中

我们还可以通过应用填充来居中,用灰色阴影填充边框区域。

填充是指在图像边缘周围添加额外像素值以创建边框的技术。

在 mahotas 中,可以通过为 mahotas.wavelet_center() 函数的 cval 参数指定一个值来应用填充。它允许我们用颜色填充边框区域,值范围从 0(黑色)到 255(白色)。

注意 −仅当存在边框区域时才可以应用填充。因此,边框参数的值不应为 0。

示例

在这里,我们忽略特定像素大小的边框并应用填充以将图像小波置于中心。

import mahotas as mh
import numpy as np
import matplotlib.pyplot as mtplt
# 加载图像
image = mh.imread('nature.jpeg')
# 将其转换为灰度
image = mh.colors.rgb2gray(image)
# 用边框将图像居中
centered_image = mh.wavelet_center(image, border=100, cval=109)
# 为子图创建图形和轴
fig, axis = mtplt.subplots(1, 2)
# 显示原始图像
axes[0].imshow(image, cmap='gray')
axes[0].set_title('Original Image')
axes[0].set_axis_off()
# 显示居中图像
axes[1].imshow(centered_image, cmap='gray')
axes[1].set_title('Centered Image')
axes[1].set_axis_off()
# 调整间距子图
mtplt.tight_layout()
# 显示图形
mtplt.show()

输出

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

Padding Image