- 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 - Haralick特征
- 标记区域的权重
- Mahotas - Zernike特征
- Mahotas - Zernike矩
- Mahotas - 排序滤波器
- Mahotas - 二维拉普拉斯滤波器
- Mahotas - 多数滤波器
- Mahotas - 均值滤波器
- Mahotas - 中值滤波器
- Mahotas - Otsu方法
- Mahotas - 高斯滤波
- Mahotas - Hit & Miss变换
- Mahotas - 标记最大值数组
- Mahotas - 图像平均值
- Mahotas - SURF密集点
- Mahotas - SURF积分图像
- Mahotas - Haar变换
- 突出图像最大值
- 计算线性二值模式
- 获取标签边界
- 反转Haar变换
- Riddler-Calvard方法
- 标记区域的大小
- Mahotas - 模板匹配
- 加速鲁棒特征
- 去除带边界的标记
- Mahotas - Daubechies小波
- Mahotas - Sobel边缘检测
Mahotas - 图像阈值化
图像阈值化是一种基于像素强度将感兴趣区域与背景分离的技术。它涉及设置一个阈值,将图像分为前景和背景。
强度高于阈值的像素被分类为前景,而强度低于阈值的像素被分类为背景。
这种二元分离允许进一步的分析,例如目标检测、分割或特征提取。图像阈值化可以应用于各种类型的图像,包括灰度图像和彩色图像,以简化后续的处理和分析任务。
使用图像阈值化涉及选择合适的阈值并将其应用于图像。阈值可以使用各种阈值化技术计算。
阈值化方法的选择取决于图像特性、噪声水平和所需结果等因素。
这里,我们简要讨论了每种技术。更深入的信息将在后面的章节中讨论。
让我们看看Mahotas中可以使用的每种阈值化技术:
Bernsen阈值化
Bernsen阈值化是一种将灰度图像中的前景与背景分离的阈值化技术。它根据每个像素周围邻域内的最大和最小像素强度计算局部阈值。
如果像素的强度更接近最大值,则将其视为前景的一部分;否则,将其视为背景的一部分。
让我们看看下面的Bernsen阈值图像:
广义Bernsen阈值化
广义Bernsen阈值化是对Bernsen阈值化方法的改进。它考虑邻域内更广泛的像素强度范围,而不仅仅是最大和最小强度值。
下面的图像显示了广义Bernsen阈值图像:
Otsu阈值化
Otsu阈值化技术自动确定将前景与背景分离的最佳阈值。
Otsu方法迭代地检查所有可能的阈值,并选择使类间方差最大的阈值。
让我们看看下面的Otsu阈值图像:
Riddler-Calvard阈值化
Riddler-Calvard阈值化也自动确定最佳阈值。它基于前景和背景方差加权和的最小化。
让我们看看下面的Riddler-Calvard阈值图像:
软阈值化
软阈值化是一种用于图像去噪的技术。它将强度值小于某个阈值的像素设置为零。软阈值化保留了图像的重要结构信息,同时减少了噪声。
下图显示了软阈值化:
示例
在下面的示例中,我们尝试执行所有上述解释的阈值化技术:
import mahotas as mh import numpy as np import matplotlib.pyplot as mtplt image = mh.imread('sea.bmp', as_grey=True) # Bernsen thresholding bernsen = mh.thresholding.bernsen(image, 5, 5) mtplt.imshow(bernsen) mtplt.title('Bernsen Thresholding') mtplt.axis('off') mtplt.show() # Generalized Bernsen thresholding gbernsen = mh.thresholding.gbernsen(image, mh.disk(3), 10, 109) mtplt.imshow(gbernsen) mtplt.title('Generalized Bernsen Thresholding') mtplt.axis('off') mtplt.show() # Otsu threshold int_image_otsu = image.astype(np.uint8) otsu = mh.otsu(int_image_otsu) result_image = image > otsu mtplt.imshow(result_image) mtplt.title('Otsu Thresholding') mtplt.axis('off') mtplt.show() # Riddler-Calvard threshold int_image_rc = image.astype(np.uint8) rc = mh.thresholding.rc(int_image_rc) final_image = image > rc mtplt.imshow(final_image) mtplt.title('RC Thresholding') mtplt.axis('off') mtplt.show() # Soft threshold soft = mh.thresholding.soft_threshold(image, np.mean(image)) mtplt.imshow(soft) mtplt.title('Soft Thresholding') mtplt.axis('off') mtplt.show()
输出
获得的输出如下所示:
Bernsen阈值化
广义Bernsen阈值化
Otsu阈值化
Riddler-Calvard阈值化
软阈值化
我们将在后面的章节中详细讨论所有阈值化技术。