阈值
图像处理中用于将像素强度分类为二值 (黑/白) 或多类的边界值,是二值化和分割的基础。
阈值是将像素强度分类为离散类别的边界值。典型的应用是二值化,将每个灰度像素与阈值比较后分配为白色或黑色。阈值处理在 OCR 预处理、目标检测和医学图像分析中不可或缺。
常见的阈值确定方法:
- 固定阈值:手动指定的值,在受控光照条件下有效
- 大津法:最大化直方图中类间方差以自动找到分割点。应用广泛,但它以直方图大致呈双峰为前提,对单峰图像或前景与背景面积比极端的图像往往效果不佳
- 自适应阈值:根据每个像素周围邻域的亮度计算局部阈值,处理不均匀光照
- 三角法:利用直方图峰值到端点连线的最大距离,适用于单峰分布
OpenCV 示例:
cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)- 固定值 127cv2.threshold(img, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)- 大津法自动cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2)
使用高斯模糊和直方图均衡化进行预处理通常可提高阈值处理的精度。多级阈值将图像划分为三个或更多区域,适用于复杂场景。
基本用途是二值化 (Binarization):把灰度图像的每个像素与阈值比较,归入白或黑。大津法 (Otsu's method) 自动求出使直方图类间方差最大的阈值;Triangle 法则以直方图峰值与端点连线的最大距离来决定阈值。多级阈值处理 (Multi-level thresholding) 设置多个阈值,可把图像分割成 3 个以上的区域。