Hough变换原始形式-直线检测
标签(空格分隔): 数字图像处理 图像特征提取
本文同版本也发布在了cmd markdown小站(https://www.zybuluo.com/lutingting/note/554459),布局更漂亮些!
注意,本文在总结过程中,参考了许多其他绘图,每种情况下使用的符号不太一致,所以,每个小节使用的符号都仅以各小节图像为主,不要混淆!
1.直角坐标系与极坐标系中的直线表示
1.1 直角坐标系与极坐标系 中的点的表示及它们之间相互关系
极坐标系(polar coordinates)是指在平面内由极点O、极轴L和极径r组成的坐标系,下图就展示了一个极坐标系,图中两个红点是要利用极坐标表示的两个点,黑色点是极坐标系的极点
那么,极坐标系和直角坐标系之间什么关系呢?
1.在直角坐标系下,点P的坐标表示为 (x,y)
2.在极坐标系下,点的坐标表示为 (ρ,theta)
3.某一点由极坐标转换为直角坐标
x=ρcosθ
y=ρsinθ
注:图中的r与上面的 ρ 是同样的描述4.某一点直角坐标转换为极坐标
- θ 的具体取值还需要根据点P具体位于哪个象限进行调整,根据点的直角坐标可以判断其位于哪个象限,具体判断方法如下图如示
- 根据点具体落到四个象限中的哪一个,在arctan结果 的基础上进行修正,arctan结果位于(-π/2,π/2)区间,具体方法如下:
- 点位于第一象限,则该点的极角为arctan
- 点位于第二象限,则该点的极角为arctan+π
- 点位于第三象限,则该点的极角为arctan+π
- 点位于第四象限,则该点的极角为arctan+2
- θ 的具体取值还需要根据点P具体位于哪个象限进行调整,根据点的直角坐标可以判断其位于哪个象限,具体判断方法如下图如示
1.2 直角坐标系与极坐标系中的直线
在极坐标系下,应该如何表示直线方程呢?如上图所示,有一直线L,点P是直线L上任意一点,其对应的直角坐标为(x,y),该点的极坐标为 (φ,r) ,该直线距 离原点距离为ρ:
- 首先,利用直线距离原点的距离的计算公式,可得下式
ρ=r∗cos(θ−φ) - 然后,对该式利用三角函数展开,可以得到
ρ=r