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

69

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



