【图像处理】-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:适用于图像中不同区域具有不同光照条件情况,简单是直接,更快的计算速度。
相关推荐
翔云 OCR API32 分钟前
人工智能驱动下的OCR API技术演进与实践应用
人工智能·ocr
南方者1 小时前
重磅升级!文心 ERNIE-5.0 新一代原生全模态大模型,这你都不认可它吗?!
人工智能·aigc
庄周迷蝴蝶1 小时前
旋转位置编码(Rotary Position Embedding,RoPE)
人工智能·机器学习
xier_ran1 小时前
深度学习:RMSprop 优化算法详解
人工智能·深度学习·算法
大千AI助手1 小时前
Prefix-Tuning:大语言模型的高效微调新范式
人工智能·神经网络·自然语言处理·llm·prefix-tuning·大千ai助手·前缀微调
雾江流2 小时前
RikkaHub 1.6.11 | 开源的本地大型语言模型聚合应用,支持多种AI服务提供商
人工智能·语言模型·自然语言处理·软件工程
Mr_Dwj2 小时前
【Python】Python 基本概念
开发语言·人工智能·python·大模型·编程语言
私人珍藏库2 小时前
AI一键PPT 2.0.3 一键智能生成
人工智能·powerpoint
com_4sapi3 小时前
2025 权威认证头部矩阵系统全景对比发布 双榜单交叉验证
大数据·c语言·人工智能·算法·矩阵·机器人
2401_841495643 小时前
【自然语言处理】基于规则基句子边界检测算法
人工智能·python·自然语言处理·规则·文本·语言·句子边界检测算法