(标准)Hough变换检测圆.doc

(标准)Hough变换检测圆.doc

ID:55689387

大小:70.50 KB

页数:5页

时间:2020-05-25

(标准)Hough变换检测圆.doc_第1页
(标准)Hough变换检测圆.doc_第2页
(标准)Hough变换检测圆.doc_第3页
(标准)Hough变换检测圆.doc_第4页
(标准)Hough变换检测圆.doc_第5页
资源描述:

《(标准)Hough变换检测圆.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Hough变换检测圆(附:MATLAB程序)分类:图像处理Hough

2、员

3、2011-12-1121:3712587人阅读评论(33)收藏举报matlab算法图像处理internetfunction任务Hough变换的基木原理在于,利用点与线的对偶性,将图像空间的线条变为参数空间的聚集点,从而检测给定图像是否存在给定性质的曲线。圆的方程为:(x-a广2+(y-2广2=/2,通过Hough变换,将图像空间对应到参数个:间。附泉中的MATLAB程序为网上比较常见的,实际运行中存在一些问题,这里进行些修改。原理

4、:霍夫变换是图像处理中从图像中识别儿何形状的基木方法之一,应用很广泛,也仃很多改进算法。最基木的霍夫变换是从黑白图像中检测直线(线段)。我们先看这样一个问题:设已知一黑白图像上画了一条直线,要求出这条直线所在的位置。我们知道,直线的方程可以用y=k*x+b来表示,其中k和b是参数,分别是斜率和截距。过某—点(xO,yO)的所有直线的参数都会满足方程yO二kxO+b。即点(xO,yO)确定了一族直线。方程yO=kxO+b在参数k-b平面上是一条直线,(你也可以是方程b=-xO*k+yO对应的直线)。这样,

5、图像x-y平面上的一个前景像素点就对应到参数平面上的一条直线。我们举个例子说明解决前面那个问题的原理。设图像上的直线是疔x,我们先取上面的三个点:A(0,0),B(l,1),C(22)。可以求出,过A点的直线的参数要满足方程"0,过B点的直线的参数要满足方程1=k+b,过C点的直线的参数要满足方程2二2k+b,这三个方程就对应着参数平面上的三条直线,而这三条直线会相交于一点(k=l,b=O)。同理,原图像上直线y=x上的其它点(如(3,3),(4,4)等)对应参数平面上的直线也会通过点(k=l,b=O)

6、«这个性质就为我们解决问题提供了方法:首先,我们初始化一块缓冲区,对应于参数平面,将其所有数据置为0.对于图像上每一前景点,求出参数平面对应的直线,把这直线上的所有点的值都加1。最后,找到参数平面上最大点的位置,这个位置就是原图像上直线的参数。上面就是霍夫变换的基木思想。就是把图像平面上的点对应到参数平面上的线,最后通过统计特性来解决问题。假如图像平面上有两条直线,那么最终在参数平面上就会看到两个峰值点,依此类推。在实际应用中,y=k*x+b形式的直线方程没有办法表示炉c形式的直线(这时候,直线的斜率为

7、无穷大)。所以实际应用中,是采用参数方程p=x*cos(theta)+y*sin(theta)e这样,图像平面上的一个点就对应到参数p---theta平面上的一•条曲线上。其它的还是一样。在看下面一个问题:我们要从一副图像中检测出半径以知的圆形来。这个问题比前一个还要直观。我们可以取和图像平而一样的参数平面,以图像上每一个前景点为圆心,以已知的半径在参数平面上画圆,并把结果进行累加。最后找出参数平面上的峰值点,这个位置就对应了图像上的圆心。在这个问题里,图像平面上的每一点对应到参数平面上的一个圆。把上面

8、的问题改一下,假如我们不知道半径的值,而要找出图像上的圆来。这样,一个办法是把参数平而扩大称为三维空间。就是说,参数空间变为x—y—R三维,对应圆的圆心和半径。图像平面上的每一点就对应于参数空间中每个半径下的一个圆,这实际上是一个圆锥。最后当然还是找参数空间中的峰值点。不过,这个方法显然需要大量的内存,运行速度也会是很大问题。有什么更好的方法么?我们前面假定的图像都是黑白图像(2值图像),实际上这些2值图像多是彩色或灰度图像通过边缘提取来的。我们前面提到过,图像边缘除了位置信息,还有方向信息也很重要,这

9、里就用上了。根据圆的性质,圆的半径一-定在垂直于圆的切线的直线上,也就是说,在圆上任意一点的法线上。这样,解决上面的问题,我们仍采用2维的参数空间,对于图像上的每一前景点,加上它的方向信息,都可以确定出一条直线,圆的圆心就在这条直线上。这样一•来,问题就会简单了许多。接卜•来还有许多类似的问题,如检测出椭圆,正方形,长方形,圆弧等等。这些方法大都类似,关键就是需要熟悉这些儿何形状的数学性质。霜夫变换的应用是很广泛的,比如我们要做一个支票识别的任务,假设支票上肯定有一•个红颜色的方形印章,我们可以通过霍夫

10、变换来对这个印章进行快速定位,在配合其它手段进行其它处理。侵夫变换山于不受图像旋转的影响,所以很容易的可以用来进行定位。霍夫变换有许多改进方法,一个比较重要的概念是广义霍夫变换,它是针对所有曲线的,用处也很大。就是针对直线的霍夫变换也有很多改进算法,比如前面的方法我们没有考虑图像上的这一直线上的点是否连续的问题,这些都要随着应用的不同而右优化的方法。实现:上文中提到了检测圆的切线的方法,这里暂旦不讨论,这里讨论经典HOUGH算法。卜面为我写

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。