其他分享
首页 > 其他分享> > 霍夫变换--检测直线

霍夫变换--检测直线

作者:互联网

霍夫变换

将笛卡尔坐标系的直线用统计展示
坐标系A中的点=坐标系B中的线
坐标系A中的线=坐标系B中的点
A中多点的连线=B中多曲线的交点

先理解这样一个思维

1

2
那么x-y坐标系中,点A对应k-b坐标系的绿直线,点B对应k-b坐标系的红直线,连接A-B两点的直线对应,红绿直线的交点(这里呼应了上一部分第4点)。

直角坐标系和极坐标系的转换

如果你理解了上面的点→直线和直线→点的思维,现在来用同样的思维看直角坐标系和极坐标系

预备知识:
对于笛卡尔系的点(x,y),我们可以用极坐标系的点(r,θ)来表示,点点转换关系:
x=rcosθ
y=rsinθ
x²+y²=r²

现在推导点线关系

先给出结论:
r=xcosθ+ysinθ
3
直线(x1,y1)(x2,y2)的斜率有两种表达,可以借此建立等式
推导过程如下:

**定义式求斜率**:
k=tan(θ+90°)=-cosθ/sinθ (1)

设橙色点极坐标(r,θ),该点直角坐标点是(rcosθ,rsinθ),故**两点式求斜率**:
k=(y1-rsinθ)/(x1-rcosθ)	(2)

由式(1)(2)得:
r=x1cosθ+y1sinθ
通用:r=xcosθ+ysinθ

由上方推导,当有点(x1,y1)时,会有很多个点(r,θ)符合,他们连接起来就是一条曲线,得到结论:

同理:

同理:

实际应用需要离散化

4
5

标签:直线,一个点,变换,直角坐标,霍夫,坐标系,y1,极坐标
来源: https://www.cnblogs.com/thgpddl/p/12548181.html