霍夫变换

1.霍夫变换(Hough Transform) 是从图像中识别几何形状的基本方法之一;最基本的霍夫变换是从黑白图像中检测直线;

2.原理:

(1)设已知一黑白图像上画了一条直线,直线的方程可以用y=k*x+b 来表示,其中k和b是参数,分别是斜率和截距;

(2)过某一点(x0,y0)的所有直线的参数都会满足方程y0=kx0+b,即点(x0,y0)确定了一组直线;

(3)方程y0=kx0+b在参数k--b平面上是一条直线,也就是说图像x--y平面上的一个前景像素点就对应到参数平面上的一条直线;

(4)设图像上的直线是y=x, 我们先取上面的3个点:A(0,0), B(1,1), C(2,2);可以求出,过A点的直线的参数要满足方程b=0, 过B点的直线的参数要满足方程1=k+b, 过C点的直线的参数要满足方程2=2k+b, 这三个方程就对应着参数平面上的三条直线,而这三条直线会相交于一点(k=1,b=0)。;同理,原图像上直线y=x上的其它点(如(3,3),(4,4)等) 对应参数平面上的直线也会通过点(k=1,b=0);

(5)图像x-y平面上的直线对应到参数k-b平面上的一组直线,这组直线相交于一个点,该点为图像x-y平面上直线的斜率跟截距;

3.算法步骤:

(1对于图像上每一前景点,求出参数平面中的对应直线,并将该直线上所有点的出现次数进行统计;

(2)找到参数平面上出现次数最多的点位置,这个位置就是原图像上直线的参数(斜率跟截距);

4.霍夫变换的基本思想就是把图像平面上的点对应到参数平面上的线,最后通过统计特性来解决问题;假如图像平面上有两条直线,那么最终在参数平面上就会看到次数统计的两个峰值点,依此类推;

5.在实际应用中,y=k*x+b形式的直线方程没有办法表示x=c形式的直线(这时候,斜率为无穷大);所以实际应用中,是采用参数方程p=x*cos(θ)+y*sin(θ);这样,图像平面上的一个点就对应到参数p---theta平面上的一条曲线,其它的还是一样;



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值