《计算机视觉教程》笔记
编著:章毓晋(清华大学电子工程系)
出版社:人民邮电出版社
出版时间:2017.3
4.4 哈夫变换
4.4.1 基本哈夫变换
3.使用极坐标方程
运用式(4.4.1)的方程描述直线时,如果直线接近竖直方向,则会由于p和q的值都可能接近无穷大而使计算量大增(因为累加器尺寸将会很大)。此时可使用直线的极坐标方程:
根据这个方程,原图像空间中的点对应新参数空间ΛΘ中的一条正弦曲线,即原来的点-直线对偶性变成了现在的点-正弦曲线对偶性。检测在图像空间中共点的直线需要在参数空间里检测正弦曲线的交点。具体就是让θ 取遍Θ 轴上所有可能的值,并根据式(4.4.3)算出所对应的ρ。再根据θ和ρ的值(设都已经取整)对累加数组A累加,由A(θ,ρ)的数值得到共线点的个数。这里在参数空间建立累加数组的方法与上述仍类似,只是无论直线如何变化,θ和ρ的取值范围都是有限区间。
例4.4.3 点-正弦曲线对偶性
在极坐标下,原来的点-线对偶成为点-正弦曲线对偶。以图4.4.3为例,其中图(a)给出图像空间XY中的5个点(可看作一幅图像的4个顶点和中心点),图(b)给出它们在参数空间ΛΘ里所对应的5条曲线。这里θ 的取值范围为[-90°,+90°],而ρ的取值范围为(N为图像边长)。
图4.4.3 图像空间中的点和其在参数空间里对应的的正弦曲线
由图4.4.3可见对图像中的各个端点都可做出它们在参数空间里的对应曲线,图像中其他任意点的哈夫变换都应在这些曲线之间。
- 前面指出参数空间里相交的正弦曲线所对应的图像空间中的点是连在同一条直线上的。
- 在图(b)中,曲线1,3,5都过S点,这表明在图(a)中图像空间中的点1,3,5处于同一条直线上。
- 同理,图(a)中图像空间中的点2,3,4处于同一条直线上,这是因为在图(b)中,曲线2,3,4都过T点。
- 又由于ρ在θ 为 ± 90°时变换符号(可根据式(4.4.3)算出),所以哈夫变换在参数空间的左右两边线具有反射相连的关系,如曲线4和5在θ = θmin和θ = θmax处各有一个交点,这些交点关于ρ= 0的直线是对称的。