霍夫变换详细解释

霍夫变换详细解释霍夫变换 1 What 霍夫变换是一种特征提取手段 用来提取形状 直线 圆等 边界 1 2 Why 形状边界假设是直线 这条线是很多点组成的一个集合 处理这个集合 比处理一个点要复杂的多 简单讲 霍夫变换就是想把一条线 边界 用点来处理 这样就会更容易提取出边界 3 How 前面提到把线换成点来处理 其实是通过空间变换来实现的 变换后的空间就是霍夫空间 3 1 霍夫空间直角坐标系 x

霍夫变换

1.What
霍夫变换是一种特征提取手段,用来提取形状(直线,圆等)边界[1]。

2.Why
形状边界假设是直线,这条线是很多点组成的一个集合。处理这个集合,比处理一个点要复杂的多。简单讲,霍夫变换就是想把一条线(边界)用点来处理,这样就会更容易提取出边界。

3.How
前面提到把线换成点来处理,其实是通过空间变换来实现的,变换后的空间就是霍夫空间。
3.1霍夫空间
直角坐标系(x,y)空间中,每条直线y = mx + c可以由两个参数确认:
(1)斜率m
(2)Y轴上的截距c
如果将m,c看成是自变量,有c=-xm+y,这个(m,c)空间就是霍夫空间。
3.2霍夫变换
3.2.1概念
对于(x,y)空间上的某个点(x1,y1)有y1 = mx1 + c,则c = -x1m + y1,这也就是霍夫空间上的一条直线。
对于(x,y)空间上的某条直线有y = m1x + c1,则c 1= -xm1 + y,这也就是霍夫空间上的一个点(m1,c1)。
总结:(x,y)空间 ->(m,c)空间,点变成直线,直线变成点。










3.2.2特点
如下图,左边(x,y)空间,右边是(m,c)空间
p1,p2,p3,p4是(x,y)空间上4个点。对应(m,c)空间上4条直线l1,l2,l3,l4。l1和l2的焦点的值,(m1,c1),对应的是(x,y)空间上穿过p1和p2点的直线的斜率和截距。同理l3和l4的焦点的值,(m2,c2)对应的是(x,y)空间上穿过p3和p3点的直线的斜率和截距。明白这个道理,就已经掌握这个变换的整个过程了。

霍夫变换详细解释

3.2.3检测直线
检测(x,y)空间上直线:
(1)在霍夫空间中,统计直线的焦点次数,比如上图l1,l2,l3这三条直线的焦点,分别是l1,l2; l2,l3; l1,l3。因此次数是3。把这种统计焦点的次数称为投票。
(2)将统计好的点的次数,列表,如下


 

Points

No. of Votes

(m11, c81)

50

(m29, c36)

80

(m30, c70)

60

3.3极坐标系下的霍夫空间
为解决3.2.3中(4)的问题,我们将霍夫空间换成极坐标表示。(x,y)空间上的直线在极坐标系中表示如下:r = x1cos(Θ)+y1sin(Θ),r是原点到直线的垂直距离,Θ是“距离”这个线段与x轴的夹角。如下图[2]

霍夫变换详细解释

Θ范围(-90,+90),

r范围(0,diagonal_length),diagonal_length是原图对角 线长度。

霍夫变换详细解释

 

Points

No. of Votes

(Θ51, r83)

100

(Θ29, r46)

80

(Θ30, r70)

60

 

3.4补充
霍夫变换检测边缘只对边缘图片(经过canny或者sobe算子提取特征后的图片)有效,对一般的图片无效[3]。

参考文献
[1] https://jayrambhia.com/blog/hough-transform
[2] https://homepages.inf.ed.ac.uk/rbf/HIPR2/hough.htm
[3] https://aishack.in/tutorials/hough-transform-normal/


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223105.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午2:50
下一篇 2026年3月17日 下午2:51


相关推荐

  • 申请CSDN博客专家的成功历程

    申请CSDN博客专家的成功历程简单说一下申请博客专家的时间、某时间段的具体数据与历程心得。(过于粗糙请见谅)本人申请博客专家的次数一共为8次,换句话说就是申请第八次才成功的。申请博客专家的时间为以下:2020.6.92020.6.152020.6.182020.7.32020.7.312020.8.212020.9.102020.9.18第八次申请终于成功了,贼开心也很激动。感谢平台的认可,我会继续努力,把最好的分享给大家。送给大家一句话、同样也是送给的自己的一句话:“一定别放弃,因为很多事情做着做着就成功了

    2022年7月15日
    17
  • OPC 协议一点点总结

    OPC 协议一点点总结目录一 OPC 协议规范二 OPC 服务器三 OPC 服务器之间的通信四 OPC 三类对象 OPC 基于微软的 COM DCOM 技术来进行数据交换 只能安装在 Windows 系统 采用的是客户端 服务器模式 通信的发起端是客户端 可以读写服务器数据 硬件厂商只需要提供硬件设备的驱动程序 并且提供标准的 OPC 协议规范的 OPC 服务器让客户端来通过软件的方式来访问硬件 实现软件和硬件的通信 一 OPC 协议规范 DA DataAccess 规范 实时数据 访问数据主要采用的协议规范 A amp

    2026年3月17日
    2
  • 软阈值 (Soft Thresholding)函数解读

    软阈值 (Soft Thresholding)函数解读版权声明:本文为博主原创文章,遵循CC4.0by-sa版权协议,转载请附上原文出处链接和本声明。…

    2022年6月5日
    37
  • ADFS配置

    ADFS配置https blog joden123 top 2019 03 11 sso adfs adfs install

    2025年6月13日
    7
  • ADC RF中频采样 Vivado Verilog 联合 matlab 进行带通滤波器设计与仿真

    ADC RF中频采样 Vivado Verilog 联合 matlab 进行带通滤波器设计与仿真1.滤波器参数计算RF中频信号的频率范围为70MHz±2MHz,采样频率为40.625MHz。采样后信号的频谱是原信号频谱以40.625MHz为周期的频谱搬移,根据奈奎斯特采样定理,40.625MHz采样率的奈奎斯特采样区为[N*20.3125,(N+1)*20.3125]MHz(N为自然数)。频谱搬移在第一奈奎斯特采样区为11.25MHz±2MHz(负频率向右的两次频移)。所以滤波器的通带需要设计为9.25MHz~13.25MHz通过的带通滤波器。2.通过matlab的fdatool工具进行滤波器

    2022年5月30日
    49
  • 在 Linux 本地玩转大模型:用 VLLM 部署 Qwen3 的高效实践

    在 Linux 本地玩转大模型:用 VLLM 部署 Qwen3 的高效实践

    2026年3月12日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号