霍夫变换在椭圆检测及相关领域的应用与优化
1. 椭圆检测基础与GHT方法
在椭圆检测中,存在一个重要的近似关系。当 $d = \frac{(a - b)}{2}$ ,且对小的 $d$ 进行近似时,可得到轨迹方程:
$\frac{(u + c)^2}{d^2}+\frac{v^2}{4d^2}=1$
此方程近似为一个椭圆,其长半轴为 $2d$ ,短半轴为 $d$ 。不过,该近似的有效性有限,仅在 $d<0.1c$ ,即 $a\approx1.2b$ 时适用。在实际中,当椭圆较小且点扩散函数(PSF)仅跨越几个像素时,只要 $a < 2b$ ,该近似就是合理的。
为简化椭圆检测的实现,可编译一个通用查找表(ULUT),只要椭圆的偏心率不过大,该表就与待检测椭圆的大小和偏心率无关。由于椭圆在工业和其他应用中很常见,无论是椭圆物体本身还是圆形的倾斜视图都会产生椭圆,因此在许多应用中,这是一个重要的考虑因素。只需编译并存储一个ULUT,在特定的椭圆检测实例中,对其进行缩放和定位即可生成PSF。
2. 椭圆检测的实际操作细节
构建好用于椭圆检测的ULUT后,检测算法需要对其进行缩放、定位和旋转,以便在参数空间中累积点。通常认为,这个过程会涉及大量的三角函数计算。但实际上,可以通过始终使用正弦和余弦来避免直接计算角度(例如使用反正切函数),这部分得益于像Sobel这样的边缘方向算子会给出强度梯度向量的两个分量 $(g_x, g_y)$ ,这在一些直线和圆检测方案中也有体现。这样可以节省大量的计算量。
通过实际图像测试该方案,在检测倾斜的圆形O形环和椭圆形物体时,都取得了较好的效果。在检测O形环的图像中,即使存在重叠和部
超级会员免费看
订阅专栏 解锁全文

648

被折叠的 条评论
为什么被折叠?



