Hough Transform是图像处理中的一种流行技术,用于检测图像内部的线和圆等几何形状,它通过将图像空间中的点转换成参数空间,可以更容易地识别形状,从而发挥作用. 本篇文章解释了如何从Hough Transform中衍生并应用到线和圆检测.

线条的角变换衍生

基本思想是将图像中的一行作为一组参数来表示。最常见的形式是普通形式:[ ⁇ = x cos ⁇ + y sin ⁇ ,其中 ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

应用 Hough 变换线程检测

为了探测线条,算法涉及以下步骤:

  • 利用像Canny这样的边缘检测方法将图像转换成二进制边缘图.
  • 初始化( $, $) 参数的累积数组 。
  • 对于每个边缘点,计算所有可能的( ^, ^)对和相应的累积单元格。
  • 识别累积器阵列中与检测到的线条对应的峰值。

圆角的角变换的衍生和应用

圆圈检测通过添加半径参数来延长线线检测. A 圆圈可以表示为 (x - a)^2 + (y - b)^2 = r^2 ,其中(a,b)为中心,r为半径. 参数空间变为三维:(a,b,r) 对于每个边缘点,可能存在的圆圈中心会计算各种弧度,并在这个3D空间中积分.

应用圆圈检测的 Hough 变形

步骤包括:

  • 在图像上进行边缘检测 。
  • 选择一个区域来搜索圆圈 。
  • 对于每个边缘点和每个半径,计算潜在的圆中心,并更新积分器.
  • 在3D积分器中查找峰值,以表示圆中心和弧度.