标准霍夫变换


1. 霍夫变换简介

  • 目的 :从图像中分离出具有某种相同特征的几何形状

霍夫变换是图像处理中 从图像中识别几何形状 的基本方法之一
最基本的霍夫变换是从黑白图像中检测直线
在图像处理中可以通过霍夫变换可以快速的检测出直线或圆


2. 霍夫线变换

霍夫线变换是用来寻找图片中直线的方法


2.1. 检测图片的条件

首先要对图像进行 边缘检测 的处理
也即霍夫线变换的直接输入只能是 边缘二值图像,如下图:

在这里插入图片描述


2.2. 直线的表示

一条直线在图像二维空间可由两个变量表示,如:

  • 在笛卡尔坐标系:可由参数 斜率 k 和 截距 b 表示:y = kx + b
    不过,由于直线的斜率可能为无穷大,或者无穷小
    那么在k-b参数空间就不便于对直线进行描述和刻画
  • 在极坐标系:可由参数(r, θ)极径和极角表示
    在这里插入图片描述
    对于霍夫变换,将用极坐标系来表示直线
    参考 y=kx + b,直线的表达式可为:
    在这里插入图片描述
    化简结果: r r r = xcosθ + ysinθ

一般来说对于点(x0, y0
可以将通过这个点的一簇直线同一定义为: r r r = x0cosθ + y0sinθ
这就意味着对于每一对(r, θ)代表一条通过点(x0, y0)的直线


2.3. 所有通过点的直线

如果对于一个给定点(x0, y0
在极坐标对极径极角平面绘出所有通过它的直线,将得到一条正弦曲线
如对于给定点 x0 = 8 和 y0 = 6,可以绘出下图:
在这里插入图片描述


2.4. θ - r 相交

对图像中所有点进行上述操作:历遍 θ θ θ,得到 r r r,得到所有通过点的直线的表达

如果两个不同点经过上述操作后得到的曲线在平面 θ − r θ - r θr 相交
就意味着 它们可以在同一条直线上

继续对存在的点 x1=9,y1=4 和 点 x2=12, y2=3 历遍操作,得到下图:

在这里插入图片描述
这三条曲线在 θ − r θ - r θr 平面相交于点(0.925, 9.6)
那么参数对(θ, r)为点(x0, y0),(x1, y1)和(x2, y2)组成的平面内的直线


2.5. 阈值定义直线

一般来讲,一条能够通过在平面 θ − r θ - r θr 寻找交于一点的曲线数量检测
越多曲线交于一点也就意味着这个交点表示的直线由更多的点组成

一般来说可以通过设置直线上点的阈值
来定义多少条曲线交于一点认为检测到了一条直线

图像中的每个点对应曲线间的交点,如果交于一点的曲线数量超过了阈值
那么可以认为这个交点所代表的参数对(θ, rθ)在原图像中为一条直线


3. 霍夫圆变换

霍夫圆变换的基本原理和霍夫线变换类似
只是点对应的二维极径极角空间被三维的圆心点x、 y及半径r空间取代

对圆来说,需要三个参数来表示一个圆 C:(X0, Y0, r r r)
(X0, Y0) 表示圆心的位置, r r r 表示半径

现在原边缘图像的任意点(x,y)对应的经过这个点的所有可能圆
圆的数学的数学表达式为:(x - x0)2 +(y - y0)2 = r2
是在三维空间由上面这三个参数来表示了,对应一条三维空间的曲线

与二维的霍夫线变换同样的道理
对于多个边缘点越多,这些点对应的三维空间曲线相交于一点
那么经过共同圆的点就越多

类似的可以用同样的阈值的方法来判断一个圆是否被检测到
这就是标准霍夫圆变换的原理
但也正是在三维空间计算量大,标准霍夫圆变化很难被应用到实际中


谢谢!

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 18
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

氢键H-H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值