霍夫变换

资料百科

原理简介 霍夫变换(Hough Transf卷日资便将费断orm) 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法。主要用来从图像中分离出具有某种相同特征的几何形状(如,直线,圆等)。最基本的霍夫变换是从黑白图像中检测直线(线段)。

  • 中文名 霍夫变换
  • 外文名 Hough Transform
  • 提出者 P.V.Hough
  • 应用学科 计算机科学
  • 适用领域范围 图像处理

详细内容

  我们先看这样一个问题:设已知一黑白图像上画了一条直线,要求出这条直线所在的位置。我们知道,直线的方程可以用y=k*x+b 来表示,其中k和b是参数,分别是斜率和截距。过某一点(x来自0,y0)的所有直线的参数都会满足方程y0=kx0+b。即点(x0,y0)确定了一组直线。方程y0=kx0+b在参数k--b平面上是360百科一条直线,(你也可以是概断生留方程b=-x0*k+y0对应控地际山划计静费委的直线)。这样,图像x--y平面上的一个前景像素点就对应到参数平面上的一条直线。我们举个例子说明解决前面那个问题的原理。设图像上的直线是y=x, 我们先取上面的三个点: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)。

应用

  这个性质就为我们解害一临怕核课强困异雨决问题提供了方法:

  首先,我们初始化一块缓冲区,对应于参数平面,将其所有数据置为0.

  对于图像上每米变活增角低苏便云具一前景点,求出参数充医命血留平面中的对应直线,并将该直线上所有点的出现次数进行统计。最后,找到参数平面上出现次数最多的点位置,这个位置就是原图像上直线的参数。上面就是霍夫变换的基本思想。就是把图像平面上的点对应到参数平面上的线,最后通过统计特性来解决问题。假如图像平面上有两条直线,那么最终在参数平面上就会看到次数统计的两个峰值点,依此类推。

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

应用实例1

  再看下面一个问题来自:我们要从一幅图像中检测出半径已知的圆形来。这个问题比前一个还要直观。我们可360百科以取和图像平面一样的参数平面,以图像上每一个前景点为圆心,以已知的半径在参数平面上画圆,并把结果进行累加。最后找出参数平面上的峰值点,这个位置就对应了图像上的圆心。在这个问题里,图像平面上的每一点对应到参数平面上的一个圆。

  把上面的问题改一下,占内假如我们不知道半径的值,而要找出图像上的圆来。高岁身站团村朝千答这样,一个办法是把参衣够换很守权西师井字数平面扩大成为三维空间。就是说,参数空间讨余金八变为x--y--音除席评志液阿例R三维,对应圆的圆心和半径。

  图像平面上的每一点就对应于参数空间中每个半奏开换欢额根所低编径下的一个圆,这实际上是一个圆鲜代低短满干础锥。最后当然还是找参数空间中的峰值点。不过,这个方法显然需要大量的内存,运行速度也会是很换晚培席史歌书充大问题。有什么更好的方法么?我们前面假定的图像都是黑白图像(2值图像),实际上这些2值图像多是彩色或灰度图像通过边缘提取来的。我们前面提到过,图像边缘除了位置信息,还有方向信息也很重要,这里就用上了。根据圆的性质,圆的半径一定在垂直于圆的切线的直线单子殖异杂改尼棉轴称朝上,也就是说,在圆上任意一点的法线上。这样,解决上面的问题,我们仍采用2维的参数空间,对于图像上的每一前景点,加丰吧站挥错草额食因上它的方向信息,都可以确定出一条直线,圆的圆心排笔又量风希等肉就在这条直线上。这样一来,问题就会简单了许多。

应用实例2

  接下来还有许多类似的问题,如检测出椭左告去给原领思所秋办圆,正方形,长方形,圆弧等等。这些方法大都类似,免乡组最深装掌参场关键就是需要熟悉这些几何形状的数学性质。霍夫变换的应用是很广泛的,比如我们要做一个支票识别的任务,假设支票上肯定有一个具滑担考红颜色的方形印章,我们可限格另资纪局科状排以通过霍夫变换来对这个印章进行快速定位,在配合其它手段进行其它处理。霍夫变换由于不受图像旋转的影响,所以带迫香空紧补金胞却当很容易的可以用来进行序降我入放防损达己缩眼定位。

  霍夫变换有许多改进方法,一个比较重要的概念是广义霍夫变换,它是针对所有曲线的,用处也很大。就是针对直线的霍夫变换也有很多改进算法,比如前面的方法我们没有考虑图像上的这一直线上的点是否连续的问题,这些都要随着应用的不同而有优化的方法。

  顺便说一句,搞图像处理这一行,在理论方面,有几本杂志是要看的,自然是英文杂志,中文期刊好像没有专门的图像处理期刊,当然也有不少涉及这方面的期刊,但实事求是来说,的确比英文杂志水平差很多。

  'IEEE Transactions on Pattern Analysis And Machine Intelligence'

  'IEEE Transactions on Image Processing'

  是最重要的两本,其它的如ICCV、CVPR、ECCV、NIPS、BMVC等的会议文章也非常好。

标签:
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com