ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

霍夫变换--检测直线

2020-03-22 20:56:14  阅读:284  来源: 互联网

标签:直线 一个点 变换 直角坐标 霍夫 坐标系 y1 极坐标


霍夫变换

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

先理解这样一个思维

1

  • 左边的x-y坐标系中,设定k,b定值,则有一系列x,y值组成直线。
  • 相应的在右边k-b坐标系中,k,b为定值,即为一个点。
  • 也就是y=k*x+b在x-y坐标系中是直线,在k-b坐标系中是一个点。
  • 同理x-y坐标系中直线,对应k-b坐标系中的点

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有