当前位置:文档之家› 基于Hough变换的四边形分类识别算法研究

基于Hough变换的四边形分类识别算法研究


(a)
(b)
(c) (2)矩形的识别如图 6 所示:
(d) 图 5 梯形的识别
(a)
(b)
(c)
(d)
图 6 矩形的识别
(3)平行四边形的识别如图 7 所示:
(a)
(b)
(c)
(d)
图 7 平行四边形的识别
3 结束语
基于 Hough 变换的四边形分类识别算法是在直线和圆的识别基础上进行的,但用来确
如下图1所示,考察一个点(xi,yi)和一条直线的斜截式方程yi=axi+b。通过点(xi,yi)的 直线有无数条,且对不同的a和b值,它们都满足这个等式yi=axi+b。但将等式写成b=-xia+yi 的形式并参考ab平面(也叫参数平面)将得到对于定点(xi,yi)的唯一直线方程。在参数空间 中,第2个点(xj,yj)也有与之相关的一条直线,且这条直线与(xi,yi)相关的直线相交于(a′, b′)点,这里a′是斜率,b′是xy平面上过点(xi,yi)和(xj,yj)的直线的截距。实际上,在参 数空间中这条直线所包含的所有点都有过点(a′,b′)的直线。
法找到准确的参数空间共线点。反之,若量化过细,那么计算量将大幅度增加,因此实际应
用中需要兼顾这两方面,选取合适的量化值。
1.2 基于Hough变换的四边形分类识别算法
该算法通过 Hough 变换方法检测所构成四边形的四条线段,分别计算出四条线段与平面
直角坐标系横坐标的夹角值(也可以是斜率),并对所得夹角值进行两两比较(即两两相减
y
(xi,yi)
(xj,yj)
b b=-xia+yi b=-xja+yj
b′
x
a′
a
(a) xy 平面
(b) 参数空间
图 1 xy 平面与参数空间的关系
Hough变换在计算上的优势在于将参数空间进一步分割为累加器单元,如图2所示。这
里(amin,amax)和(bmin,bmax)分别为斜率和截距值期望的范围。位于坐标(i,j)的单元具有累加值
截式方法一样。不同的是,这个公式的轨迹是ρθ平面上的正弦曲线。与斜截式方法一样,
在xcosθj+ysinθj=ρi上共线的点集生成参量空间中交于点(ρi,θj)的正弦曲线。θ的增加
和对应的ρ的求解,给出了由(ρi,θj)决定的单元累加器A(i,j)的输入。
图4说明了参数空间的划分。角θ的取值范围为±90°,以x轴为基准。因此,参考图3,
Hough Transform is mainly use to detect lines and line segments. Although it can detect two dimensional images, it has the shortages such as large memory space, long time calculation and lack of reliability. Further more, it is sensitive to the noise of the image and lack of robustness. In order to detect the regular planar graph quickly and exactly, we work out the quadrangular sort recognition algorithm which base on the Hough Transform according to the recognition of line and circle. Firstly, by means of the Hough Transform, this algorithm detects the four line segments which in the quadrangle and work out the abscissa’s separation angles (slope) of the four line segments and the plane rectangular coordinate separately. Secondly, compare the four separation angles after ordering them with bubble sort and decide what the relation among the four line segments is. Parallel, vertical or intersect. Finally, distinguish them classificatorily according to each quadrangle’s characteristic. This kind of algorithm is proved feasible and effectual by the experimental results.
后与指定的阀值比较小于阀值为符合要求,否则继续比较),根据四条线。最后按照各种四边形的性质进行分类识别。
算法如下:
//判断四条线段所构成的四边形类型
if(abs(A[0]-A[1])<=4)
{
if(abs(A[2]-A[3])<=4)
{
if(abs(abs(A[0]-A[2])-90)<=6)
冒泡排序法: //用数组A[4]记录检测出来的四条线段与横坐标的夹角值 int temp, A[4]={MaxValue1.AngleNumber*2,MaxValue2.AngleNumber*2,
MaxValue3.AngleNumber*2,MaxValue4.AngleNumber*2}; for(i=0; i<3; i++) //冒泡排序 for(j=0; j<3-i; j++)
AfxMessageBox("该四边形为梯形!");
else
AfxMessageBox("该四边形为不规则四边形!");
通过实验测试中得知,能否准确的分类识别出各种四边形的关键在于比较两两线段与横
坐标夹角之差的绝对值所选取的阀值。阀值过大过小均会导致识别不准确,所以选取合适的
阀值是该算法分类识别的关键所在。而阀值的选取则需要通过大量的实验测试来确定。
目决定了这些点共线性的精确度。
b bmax
0
bmin
amin
0
amax a
图 2 用于 Hough 变换的参数平面的进一步分割
使用等式y=ax+b表示一条直线带来如下一个问题:当直线接近垂直时,直线的斜率接近
无限大。解决这一问题的一种方法是使用直线的标准式:
xcosθ+ysinθ=ρ
(1)
图3说明了用于式(1)的参数的几何解释。使用这一表达式构造一个累加器的表与使用斜
定圆和直线的参数要比确定四边形的参数少,因此基于 Hough 变换识别圆和直线的方法要比
四边形识别算法的精练,但目前仍没有一种更巧妙的方法用来对四边形进行识别,所以该形
Key words:Hough Transform;quadrangle;detect;distinguish 0 引言
随着时代的发展,一些常见的平面规则图形,在工业产品检测、生物信息提取、集成电 路板在线质量检测 、交通标识牌识别等领域有着愈发广泛的应用。而Hough变换[1]是从图像 中识别几何形状的基本方法之一,该方法由Paul Hough于1962年提出并在美国作为专利。 Hough变换的基本原理在于利用点与线的对偶性,将原始图像空间中的曲线通过曲线表达式 转变为参数空间的一个点,这样就把原始图像中给定曲线的检测问题转化为寻找参数空间中 的峰值问题,即将检测整体特性转化为检测局部特性。
if(A[j]>A[j+1]) {
temp=A[j]; A[j]=A[j+1]; A[j+1]=temp; } 2 实验结果与分析 如图 5、图 6 和图 7 所示,在实验中分别通过梯形、矩形和平行四边形的识别来检测四 边形识别方法。首先通过 Hough 变换方法检测所构成四边形的四条线段,分别计算出四条线 段与平面直角坐标系横坐标的夹角值(或是斜率),判断结果如图 5、图 6 和图 7 的(b)图所 示;随后在获取四个夹角值之后用冒泡排序法对它们进行排序再进行比较,结果如图 5、图 6 和图 7 的(c)图所示;根据四条线段两两比较后判断线段间的关系(平行,垂直,相交)。 最后按照各种四边形的性质进行分类识别, 最终测试结果如图 5、图 6 和图 7 的(d)图所示。 实验结果验证了本文提出的算法可行,效果较好。 (1)梯形的识别如图 5 所示:
目前应用于直线,圆及椭圆检测的各种基于Hough变换的技术已经日益成熟,如朱娟[2] 等提出一种逆向Hough变换检测算法检测直线;张运华[3]等以随机Hough变换为基础,通过对 采样概率进行分析,结合Canny算子以及Zernike正交矩方法,提出改进的圆检测算法;赵京 东[4]提出利用椭圆的斜率特性,降低Hough参数空间的维度,实现对图像中多个椭圆进行检 测。但识别四边形及其它多边形方面的技术仍然很缺乏,鉴于此,本文提出了基于Hough变 换的四边形分类识别算法,以此来研究基于Hough变换的四边形识别检测技术。 1 基于Hough变换的四边形分类识别 1.1 基于Hough变换的直线检测原理[6-8]
基于 Hough 变换的四边形分类识别算法研究 刘智
(广西工学院 计算机工程系广西 柳州 545006) 基金项目:广西教育厅科研项目(200707MS064);广西工学院青年科学基金项目(院科自 0840206) 摘 要:Hough变换主要用于直线或线段的检测。虽然能够用于检测复杂的2维图形,但其通 常都具有存储空间大、计算时间长、可靠性差等不足,而且往往对图像中的噪声比较敏感、 鲁棒性差。为了对平面规则图形进行快速准确检测,在直线和圆的识别基础上总结出基于 Hough变换的四边形分类识别算法,该算法首先通过Hough变换方法检测所构成四边形的四条 线段,分别计算出四条线段与平面直角坐标系横坐标的夹角值(或是斜率),随后在获取四 个夹角值之后用冒泡排序法对它们进行排序再进行比较,根据四条线段两两比较后判断线段 间的关系(平行,垂直,相交),最后根据各种四边形的性质进行分类识别。实验结果验证 了该算法可行,效果较好。 关键词:Hough 变换;四边形;检测;识别 Abstract:
相关主题