【图像处理】-1.图像二值化

1. 阈值概念

阈值:根据这个值将整张图像分割成不同的前后背景,在二值化处理中,有固定阈值和自适应阈值两种形式;

两种阈值使用情况区分:

  1. 当图像质量好,且目标和背景容易区分时,可以使用固定阈值;
  2. 当图像质量差,且阴影过度,虽然使用大津法和三角形法也可以自己寻找阈值,但整个图像阈值都是相同的,最终分割效果较差;
  3. 所以如果是将一整个图像分割成几行几列,对每个部分再运用大津法或三角形法,最后再将图像整合,这样每一个部分的阈值就不相同,分割效果也会越好。
2. opencv中的固定阈值二值化threshold()
cpp 复制代码
   double threshold(                  
                    InputArray src,
                    OutputArray dst,
                    double thresh,
                    double maxval,
                    int type 
                   )
3. 阈值类型

大津法和三角形法是两种常用于图像处理中自动确定阈值的方法。

cpp 复制代码
    type                            作用
THRESH_BINARY             灰度值高于阈值的为最大,其余为0
THRESH_BINARY_INV         灰度值高于阈值的为0,其余为最大
THRESH_TOZERO             高于阈值的值为0,低于阈值的保留
THRESH_TOZERO_INV         高于阈值的值保留,低于阈值的值为0
THRESH_TRUNC              高于阈值的为阈值,低于阈值的保留
THRESH_OTSU               大津法自动求阈值,可以配合其他阈值使用,适用于双波峰
THRESH_TRIANGLE           三角形法自动求阈值,根据直方图自行计算阈值,最适用于单个波峰,医                
                          学分割细胞等。
4. 大津法原理

一种基于直方图的自适应阈值确定方法,原理是寻找一个阈值,使得根据该阈值将图像分割成前景(目标) 和背景两部分后,目标与背景之间的类间方差最大。类间方差用于衡量目标和背景之间的差异度,方差越大表示目标和背景之间的差异越大,分割效果越好。

  1. 计算图像的灰度直方图;
  2. 对每一个可能的阈值,计算目标和背景的像素数目和像素值的平均值;
  3. 根据当前的阈值t,计算类间方差作为衡量指标:类间方差=目标像素数目*背景像素数目*(目标平均值-背景平均灰度)^2;
  4. 找到使得雷剑方差最大的阈值作为最终阈值。
5. 三角形法原理

同样是基于直方图的阈值选择方法,基本原理是找到直方图的峰值处对应的阈值,通过将直方图峰值对应的斜率定义为三角形的高,并找到使得该三角形面积最大的阈值作为最终阈值。

  1. 计算图像的灰度直方图;
  2. 找到直方图的峰值处,即直方图中像素数目最多的灰度级别;
  3. 以峰值处对应的灰度级别为基准,向两侧寻找直方图中像素数目小于峰值处像素数目的一半的两个灰度级别作为边界;
  4. 计算准基灰度级别和两个边界之间的直方图的斜率,斜率定义为三角形的高,在这种情况下,可以将这两个边界之间的距离作为三角形的底部;
  5. 找到三角形面积最大的斜率对应的阈值作为最终阈值。
6. 自适应阈值处理adaptiveThreshold()

主要功是边缘提取,并且参数C主要来控制边缘的类型和粗细;将blocksize选得大就是二值化,小就是提取边缘。

7. 二值化处理的经验:
  1. THRESH_BINARY:适用于对比度明显的图像,目标与背景之间有明显的灰度差异;
  2. THRESH_TRUNC:适用于保留目标灰度信息同时进行部分抑制的情况;
  3. THRESH_TOZERO:适用于保留亮度较高的区域的细节信息情况;
  4. THRESH_OTSU:适用于图像的目标与背景之间有明显的灰度分离,但具体阈值不确定的情况;
  5. THRESH_TRIANGLE:适用于图像目标与背景之间有明显的灰度分离,但具体阈值不确定的情况;
  6. ADAPTIVE_THRESH_MEAN_C:适用于图像中不同区域具有不同光照条件的情况,有明显噪声或者需要更好的平滑效果;
  7. ADAPTIVE_THRESH_GAUSSIAN_C:适用于图像中不同区域具有不同光照条件情况,简单是直接,更快的计算速度。
相关推荐
人工智能培训22 分钟前
具身智能系统集成与计算效率优化路径探析
人工智能·深度学习·神经网络·机器学习·大模型
金融RPA机器人丨实在智能24 分钟前
ARC-AGI-3模型大血洗后的冷思考:企业如何利用“实在Agent”跨越AGI落地鸿沟?
人工智能·ai·agi
天上路人28 分钟前
A-59F 多功能语音处理模组在本地会议系统扩音啸叫处理中的技术应用与性能分析
人工智能·神经网络·算法·硬件架构·音视频·语音识别·实时音视频
这张生成的图像能检测吗41 分钟前
(论文速读)GINet:结合轴承语义的全局可解释卷积神经网络
人工智能·深度学习·故障诊断
努力的小白o(^▽^)o1 小时前
常见的优化器
人工智能
yang_B6211 小时前
噪声处理方法
大数据·人工智能·算法
Gideon_k_Marx1 小时前
读代码3:OLMo3全详解 - layer2--Data (上)
人工智能·深度学习·机器学习·语言模型·自然语言处理
春风化作秋雨1 小时前
Transformer:颠覆AI的注意力革命
人工智能·深度学习·transformer
无忧智库1 小时前
算力、算法、数据三位一体:构建城市级AI大模型算力池的全景式解构与未来展望(WORD)
大数据·人工智能·算法
L-影1 小时前
下篇:它到底是怎么操作的——AI中半监督学习的类型与作用,以及为什么它成了行业的“最优解”
人工智能·学习·机器学习·ai·半监督学习