一种用Hough变换检测圆的快速算法
一种用于圆检测的改进Hough变换方法
1引言人工图像中,大多数物体都是由线或曲线组成的,所以图像处理中对线或曲线的识别和定位就显得十分重要。
Hough(霍夫)变换是一种用于区域边界形状描述的方法,经典Hough变换常常被用于直线段、圆和椭圆的检测。
其基本思想是将图像的空间域变换到参数空间,用大多数边界点满足的某种参数形式来描述图像中的曲线(区域边界)[1]。
通过设置累加器进行累加,求得峰值对应的点就是所需要的信息。
多年来,许多学者利用Hough变换针对具体情况进行了扩展。
张红民等利用中心点生成圆弧的方法统计一定范围内点的累加值获得圆心[2];孔兵等根据最小二乘法原理用圆来逼近轮廓[3];Leavers采用动态广义Hough变换思想(DGHT)来检测圆[4];魏怡利用分区和跟踪算法改进了DGHT[5];Yip等使用平行切线以及在一个二维累加数组中对4个向量进行累加来获得圆的信息[6]。
所有对Hough变换的扩展都是为了减少该方法所需的较大的存储空间以及降低计算所需的时间。
而这正是Hough变换的最大的缺点。
2圆的Hough变换检测方法2.1基本变换Hough变换可应用于检测图像空间的解析曲线。
解析曲线的参数表示的一般形式是:f(x,a)=0式中,x是解析曲线上的点(二维矢量),a是参数空间中的点(矢量)。
对于圆来说,半径为r,圆心坐标为(a,J)的圆在参数空间中的表示为:(x i-a)2+(y i-J)2=r2(1)此时点x=xi,yi!"T,a=[a,J,r]T,其参数空间为三维。
显然,在参数空间中,(1)式表示的是一个三维锥面。
它表示的物理意义是,图像空间中的圆对应着参数空间中的一个点,而图像空间中的一个点(x,y)对应着参数空间中的一个三维直立圆锥,该点约束了通过该点一族圆的参数(a,J,r),如图1所示。
对于图像空间中的一个圆,它的半径是固定不变的,圆周上的各个点组成的集合在参数空间中就表现为r相等,而a,J 不等的各个圆锥的集合。
Hough变换对圆的检测
Hough变换对圆的检测Hough变换的基本原理在于,利用点与线的对偶性,将图像空间的线条变为参数空间的聚集点,从而检测给定图像是否存在给定性质的曲线。
Hough对圆的检测程序如下% p:阈值,0,1之间的数% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% output% hough_space:参数空间,h(a,b,r)表示圆心在(a,b)半径为r的圆上的点数% hough_circl:二值图像,检测到的圆% para:检测到的圆的圆心、半径[m,n] = size(BW);size_r = round((r_max-r_min)/step_r)+1;size_angle = round(2*pi/step_angle);hough_space = zeros(m,n,size_r);[rows,cols] = find(BW);ecount = size(rows);% Hough变换% 将图像空间(x,y)对应到参数空间(a,b,r)% a = x-r*cos(angle)% b = y-r*sin(angle)for i=1:ecountfor r=1:size_rfor k=1:size_anglea = round(rows(i)-(r_min+(r-1)*step_r)*cos(k*step_angle));b = round(cols(i)-(r_min+(r-1)*step_r)*sin(k*step_angle));if(a>0&a<=m&b>0&b<=n)hough_space(a,b,r) = hough_space(a,b,r)+1;endendendend% 搜索超过阈值的聚集点max_para = max(max(max(hough_space)));index = find(hough_space>=max_para*p);length = size(index);hough_circle = false(m,n);for i=1:ecountfor k=1:lengthpar3 = floor(index(k)/(m*n))+1;par2 = floor((index(k)-(par3-1)*(m*n))/m)+1;par1 = index(k)-(par3-1)*(m*n)-(par2-1)*m;if((rows(i)-par1)^2+(cols(i)-par2)^2<(r_min+(par3-1)*step_r)^2+5&...(rows(i)-par1)^2+(cols(i)-par2)^2>(r_min+(par3-1)*step_r)^2-5) hough_circle(rows(i),cols(i)) = true;endendend% 打印检测结果for k=1:lengthpar3 = floor(index(k)/(m*n))+1;par2 = floor((index(k)-(par3-1)*(m*n))/m)+1;par1 = index(k)-(par3-1)*(m*n)-(par2-1)*m;par3 = r_min+(par3-1)*step_r;fprintf(1,'Center %d %d radius %dn',par1,par2,par3);para(:,k) = [par1,par2,par3];end。
一种新的快速Hough变换圆检测方法
一
种 新 的快速 Ho g u h变换 圆检 测 方法 术
黄永林 叶 玉堂 陈镇龙 乔 闹生 , 2
(. 1 电子科技大学光 电信息学 院, 都 605; 成 1 4 0
2 湖南文理学院物理与电子科学学院, . 常德 4 50 ) 10 0
摘Байду номын сангаас
要: o g 变换 网检 ̄( C ) H uh HT D 存在计算 量大和占用内存 空间大的缺点,严重影 响了该方法 的计算效率 。提出了一种新
要求 。
关键 词 : uh变 换 ;随机 Hog 换 ;随机 采 样 ;圆 检测 ;参 量 空 间 Hog uh变
中图 分类 号 : P 9 T 31 文献 标 识 码 : A 国 家 标准 学 科 分 类代 码 : 1. 5 50 00 4
Ne m e ho ff s o h t a f r o i c e de e to w t d o tH ug r ns o m f r c r l t c i n a
第 2卷 4
第 9期
电子测 量与仪器 学报
JOUR NAL OF ECTR EL oNI M匪AS R c U EMENTAND Ns l TRUMENT
场 2 4
・
Ⅳ0 9 .
87 ・ 3
2 1 年 9月 00
DOI 1 . 7 4 S . 1 7 2 1 . 0 3 : 3 2 / P J 8 .0 0 8 7 0 .1 0
r t a u fcr l ee to a e o ti e h o g ae v l eo iced tci n c n b ba n d tr u h HTCD g i . ep r m ee p c n t e m eh d i e s a a an Th a a trs a e i hen w t o sr a on — by c n r l d S st r al e u e c lu a in a o n n m p o d t e e ce c fd tc in. p re c ss o l o tol O a o g e ty r d c ac lto m u ta d i r ve h f in y o ee t e i o Ex e n e h w i t tt e tm e c n u p in o h e m eh d no m o e t n 1 1 o pae wih HTCD ;Is d t cin e ce c s ha h i o s m to ft e n w t o r ha / c m 5 r t t ee t f in y i o i s pe o o r n o ie ug a so m ai n u e h o d to fs o g i tre e c s Th e m eh d h s g o u r rt a d m z d Ho h t n f r to nd rt e c n iin o t n n e fr n e . e n w t o a o d i r r d t ci r cso n a e tt er q r m e t o e l i ep o e sn . ee t p e ii n a d c n m e e uie n sf rr a m r c s i g on h t Ke wo d :Ho g r n f r ain;r nd m i e o g a so m ai n a d m ie a p ig;cr l ee to y rs u h ta so m to a o z d H u h t n f r to ;r n o z d s m l r n ice d t cin;
一种快速的随机Hough变换圆检测算法
当优 异的性能 , 对于复杂 图像 , 由于无 目标 的随机采样 仍引入
大量 的无效单元 , 造成大量无效积累 , 从而导致计算量过大。 为
响, 提高结果的置信度 ; 便于并行计算 , 这是提高计算速度的有 效 方法 。H uh变换的这些优点 , og 引起 了国 内外众多学者的关 注, 并进行了广泛深入的研究。在参数空间不超过两维的情况 下, 这种变换有着很理想的效果 ; 但当参数空 间超过两维时 ( 如 圆的参数空间为三维 ) ,这种 变换的计算时间和存储空间的急 剧增大使其仅仅在理论分析上可行 , 而在实际应 用中却难 以实 现 。因为传统的 H uh变换存在 如下几 个较大的缺点 : 1计 og () 算量大 , 是一到多的映射 ;2 占用内存大; 3提取的参数受参 () () 数空间的量化间隔制约。 为 了提高算 法的效率 , 献f— 1 出的随机 H u h变换 文 2 4提 og ( H ) 其进行改进 , R T对 相对于传统 H u h o g 变换该算法能够大量 降低所 占的内存空 间 ,同时 RH T通过在图像边界中随机选取 不共线的三个 点映射成参数空间的一个点 ,是多到一的映射 , 从而避免 了传统 H uh变换一 到多映射的巨大计算量 ,从 而 og 减少了计算时间。尽管 R T具有只对 多到一映射所得到 的参 H
Z A G X a - un ,U Q n,I NG La - u n, IG o xa g H N Jn q a 1S i J A in ya 2L u — i n
1 . 广西师范大学 计算机科学系 , 广西 桂林 5 10 404 2 . 广西工学院 计算机工程系, 广西 柳州 5 5 0 40 6
Z NG X a - u n S i ,I G in y a ,ta.atag r h frcrl d tc o s g rn o zd Ho g ru - HA in q a , U Q n JAN La - u n e 1 s lo i m o ic eet n ui a d mi u h ta F t e i n e s
hough变换圆检测程序
BW2(ii,jj)=BW2(ii,jj)+1;
% BW1为输入的需检测的圆图象的矩阵,[x0,y0]为估算的定位中心的位置,r0为估算的定位的半径,rr是检测范围的外扩值
[m,n]=size(BW1);
%确定搜索范围,搜索的矩形的四个定点为[e3,e1],[e3,e2],[e4,e1],[e4,e2]
e1=floor(x0-r0)-rr;
if e1<1
e1=1;
end
e2=ceil(x0+r0)+rr;
if e2>n
e2=n;
end
e3=floor(y0-r0)-rr;
if e3<1
n=length(y);
if n>1 %最大值的位置坐标不唯一时取所有位置的算术平均值
yy=sum(y)/n;
r0=r0-1;
BW3=BW2;
flag=1;
end
end
[y,x]=find(BW3==count); %最大值的位置坐标
end
end
end
end
A=max(BW2); %BW2中的各列最大值组成向量A
if k>-1600&k<1600 %这个点在有效区内
real=j-x0;imag=y0-i;
xx=sum(x)/n;
y=yy;
x=xx;
end
r=r0+1; %定位的半径
return;
e3=1;
end
e4=ceil(y0+r0)+rr;
opencv hough找圆算法
opencv中的Hough变换是一种常用的图像处理算法,它可以用来检测图像中的圆形。
在本文中,将介绍如何使用opencv的Hough变换算法来找到图像中的圆。
1. 算法原理Hough变换是一种常用的图像处理算法,它可以用来检测图像中的直线、圆形等几何形状。
Hough变换的原理是将图像空间中的像素点映射到参数空间中,从而能够在参数空间中找到拟合图像中特定几何形状的参数。
对于找圆算法来说,Hough变换的参数空间通常是圆心坐标和半径。
具体而言,对于一幅图像,我们需要在参数空间中建立一个累加器数组,数组的每一个元素表示一个可能的圆心坐标和半径。
然后对图像中的每一个像素点,我们计算它到每一个可能的圆心的距离,如果距离小于某个阈值,则在累加器数组中相应的位置加一。
我们就可以在累加器数组中找到累加值最大的位置,从而得到图像中的圆。
2. opencv中的实现在opencv中,我们可以使用HoughCircles函数来实现找圆算法。
该函数原型如下:void HoughCircles(InputArray image, OutputArray circles, int method, double dp, double minDist, double param1=100, double param2=100, int minRadius=0, int maxRadius=0 )其中,InputArray表示输入图像,OutputArray表示输出的圆的参数,method表示检测方法,dp表示累加器分辨率和图像分辨率的比值,minDist表示检测到的圆之间的最小距离,param1和param2分别表示Canny边缘检测的两个阈值,minRadius和maxRadius表示圆的最小半径和最大半径。
使用HoughCircles函数,我们可以简单地找到图像中的圆。
下面是一个示例代码:Mat src = imread("circle.jpg");Mat gray;cvtColor(src, gray, COLOR_BGR2GRAY);GaussianBlur(gray, gray, Size(9, 9), 2, 2);vector<Vec3f> circles;HoughCircles(gray, circles, HOUGH_GRADIENT, 1, gray.rows / 8, 200, 100, 0, 0);在这段示例代码中,我们首先读入一张图像,并将其转换为灰度图像。
一种基于Hough变换的圆和矩形的快速检测方法
一种基于Hough变换的圆和矩形的快速检测方法一、本文概述随着计算机视觉技术的快速发展,图像中的形状检测成为了许多实际应用领域的核心问题,如机器人导航、工业自动化、医学影像分析、安全监控等。
在这些应用场景中,快速准确地检测出图像中的圆形和矩形对于后续的图像理解和处理至关重要。
本文提出了一种基于Hough变换的圆和矩形的快速检测方法,旨在提高形状检测的效率和准确性,为相关领域的实践应用提供新的思路和技术支持。
Hough变换作为一种经典的图像处理技术,已经在直线检测等领域取得了广泛应用。
然而,将其应用于圆形和矩形的检测时,传统的Hough变换方法面临着计算量大、检测速度慢等问题。
为了解决这些问题,本文在深入研究Hough变换原理的基础上,提出了一种改进的快速检测方法。
该方法结合了图像预处理、形状特征提取和Hough变换等多个步骤,通过优化算法和减少不必要的计算,实现了圆形和矩形的高效检测。
本文首先介绍了Hough变换的基本原理及其在形状检测中的应用背景,然后详细阐述了本文提出的快速检测方法的理论框架和实现步骤。
接着,通过实验验证了该方法的有效性,并与其他经典算法进行了比较。
本文总结了研究成果,指出了方法的优点和局限性,并对未来的研究方向进行了展望。
通过本文的研究,我们期望能够为计算机视觉领域的形状检测问题提供一种更加高效、准确的解决方案,推动相关应用的发展和创新。
二、Hough变换原理及其应用Hough变换是一种在计算机视觉和图像处理中广泛应用的特征检测方法,尤其在形状识别,如直线、圆和矩形检测中,显示出其独特的优势。
Hough变换的基本原理是通过将图像空间中的形状映射到参数空间中的峰值,从而实现对这些形状的检测。
对于直线检测,Hough变换通过将图像中的每个点映射到参数空间的一条线上,从而得到多条线的交点,这些交点即对应图像空间中的直线。
类似地,对于圆和矩形的检测,Hough变换也可以将图像中的形状映射到相应的参数空间,如圆的参数空间包括圆心和半径,矩形的参数空间包括四个顶点的坐标等。
一种用Hough变换检测圆的快速算法
的位置就成为图像分析 的一项 重要工作 。在应用 中经常采用 的一种 方 法 就是 H u h变 换 或 其 改进 算 法 。Hog og uh变 换 是
P u H uh在 16 提出的一种 图像边 缘检 测技 术 , al og 92年 它可 以
Ne f s lo i m fHo g r n fr d tcin o ice w a tag rt h o u h ta so m ee to fcr ls
XI Le ,CAICha A i o,ZHOU Che — i ng png,DI NG ig y M n — ue
s mi g wh n usn heta ii n lHo g r nso m .Th e ag rt m a h e d a tg s:lw i ec n umi u n e ig t r d to a u h ta f r e n w lo h h d tr e a v n a e i o tm o s ng;hod alt e l l h a v ntg so h r di o a u h ta so u h a g ee in r t d a a e ft e ta t n lHo g r n fr s c shih d tct ae,rbu tt o s nd fa me tr un a is;d d n t i m o o s o n ie a r g n ay bo d re i o ne d a y s e ilq l ia in.Ex rme t lr s lsd mo tae t a h w a tag rt m a eus d frfs a g tr c g i e n p ca uai c to f pe i n a e ut e nsr t h tte ne f s lo h c n b e a tt re e o n— i o
用点Hough变换实现圆检测的方法
图像中圆的检测及其参数确定是计算机视觉和模式识 别中一项重要任务。常用的圆检测技术有形状分析法、环路 积分微分法[1]、圆Hough变换(CHT)[2]等。CHT是目前应用 最为广泛的圆检测方法,该方法的最大特点是可靠性高,在 噪声、变形、甚至部分区域丢失的状态下仍然能取得理想的 结果。但该方法的缺点是计算复杂,资源需求大。 Davies[3] 利用过圆周一点且与该点切线垂直的线通过圆心的特点,将 CHT转变成直线Hough变换(SLHT )。但由于噪声的影响 及圆周的数字化误差,难以保证梯度方向的准确性,在信噪 比低的情况下该方法难以实用。Ioannou等[4]根据弦的中垂线 通过圆心的性质,用SLHT确定圆的参量。目前的方法将传 统CHT三维搜索空间降低到二维,但在二维空间搜索时计算 复杂度仍然较高。为此,我们对CHT进行了改进,利用圆周 上任意两条不平行弦的中垂线相交与圆心的性质,同时选取 3 点,将搜索空间从三维减低到一维——我们称之为点 Hough变换(PHT),进一步降低了计算复杂性。另外,在 统计时只包括已计算出的交点,而不是整个变量取值范围, 提高了效率。以下将详细阐述PHT方法。
设图像中有N个待分析点,如果选择所有的组合,则有
N ( N − 1)( N − 2) 个点组。应用中,先去除噪声和无效点, 后选 6
∆ = x − xc + y − yc + r − rc 。图4中分别列出了比较结果。
为了便于观察,图4中I-SLHT和PHT的时间值已乘以 1000。 从图中可见,随着噪声点的增加, CHT处理的点增多, 处理速 度近似反比下降,但I-SLHT和PHT的速度与噪声点数无关, PHT速度最快。在检测精度上,当噪声和信号点数比小于 22 时,PHT 和其他两种方法具有同样的精度,且检测结果稳 定。但噪声继续增强时,PHT和I-SLHT一样结果急剧变坏, 无法实用。 一般情况下,实际图像中的噪声强度远小于上述使PHT 变坏的情形。图 5 中用PHT做眼睛瞳孔检测的结果说明了 PHT的实用性。图像的大小为256×256。
一种基于hough变换的圆和矩形的快速检测方法
一种基于hough变换的圆和矩形的快速检测方法一种基于Hough变换的圆和矩形的快速检测方法Hough变换是计算机视觉领域中非常重要的算法之一,它可以在图像中检测出圆、线、矩形等几何形状,为图像分析和计算机视觉应用提供了重要的基础技术。
然而,传统的Hough变换算法效率较低,难以满足现代计算机视觉应用中对实时性和高效性的要求。
因此,本文提出了一种基于Hough变换的圆和矩形的快速检测方法,能够有效提高图像处理的速度和精度。
首先,本文介绍了Hough变换的基本原理。
Hough变换是一种基于数学变换的图像分析方法,主要用于检测图像中的几何形状。
其基本思想是通过变换将图像中每个像素点转换为曲线上的点,然后在曲线上寻找共线点的交点,从而完成对几何形状的检测。
传统的Hough变换算法存在着效率低、计算量大等问题,因此需要进行改进和优化。
针对传统Hough变换算法中计算量大的问题,本文提出了一种加速算法,将图像分为多个区域,然后分别对每个区域进行Hough变换。
这样做可以有效减少计算量,提高算法的运行速度。
此外,为了提高检测的准确度,本文还引入了自适应阈值的方法,根据图像特征对阈值进行自动调整,从而提高了算法的鲁棒性和精度。
在具体实现中,本文针对圆和矩形两种几何形状进行了快速检测方法的开发。
对于圆的检测,本文首先采用了基于图像梯度的方法,求取图像中每一个像素点的梯度信息,并选取一定范围内的圆心和半径作为检测目标。
然后,通过对每个像素点进行Hough变换,找出圆的中心和半径,并计算出圆的得分,从而确定是否为圆形结构。
同时,为了排除噪声对检测结果的影响,本文还引入了基于自适应阈值的二值化算法,能够有效提高圆形检测的精度和鲁棒性。
对于矩形的检测,本文采用基于模板匹配的方法,将矩形模板与图像进行比对,从而确定矩形的位置和大小。
同时,为了提高矩形检测的准确度,本文还引入了基于相似度评价的方法,计算实际矩形与模板矩形之间的相似度,从而得出检测结果。
基于改进随机Hough变换的圆形目标检测算法
xij ,
y0)为区域重心坐标,(
yij )为 第i 个 边 缘 点 集 中
任意点的坐标 .
d=
定义σ 为边界点集pi 到区域重心距离的均方差:
σ=
定义 C 的计算公式为
4
n
11
2
∑ [ (xij ,yij )- (x0,y0) -d ] .
4 n∑
i=1 j=1
(
5)
σ
(
.
6)
d
当区域趋于圆时,特征量 C 单调递减且趋向于 0,而且还不受区域平移、旋转和尺度变化的影响,可以
和为
H=
n
∑
j=1
2
2
(
xj -a)
+(
yj -b) -r .
当 H 达到最小值时,认为该理想圆即为候选圆,同时得到候选圆的参数(
a,
b,
r).
(
7)
7)基于随机 Hough 变换的候选圆验证 .候选圆中可能存在一些错误拟合的圆,为了去除假圆,需要对
候选圆进行验证 .候选圆的参数为(
a,
b,
r),如果边缘点 pi(
C=
根据 C 判断区域图形是否为圆形,若为圆形则计算该圆参数,否则进入第 6 步 .
6)基于随机 Hough 变换的候选圆检测 .在 区 域 中 随 机 选 择 一 个 边 缘 点 集 pi,并 对 pi 中 的 点 pi(
xj,
a,
b,
r),则 各 点 到 圆 的 距 离 的 绝 对 值 的
yj)进行圆拟合得到候选圆 .具体拟合算法为:设理 想 圆 的 参 数 为(
y)为 图 像 中 的 像 素 坐 标 .对 于 圆 形 检 测 来 说,(
一种基于Hough变换的圆检测方法
一种基于Hough变换的圆检测方法
刘良江;王耀南
【期刊名称】《微计算机信息》
【年(卷),期】2009(025)015
【摘要】本文提出了一套基于深度优先搜索和等步长Hough变换的圆检测方法.为了得到圆的有效边缘特征,提出了一套边缘特征提取的算法.将边缘提取之后,进行了深度优先搜索.接着采用等步长采样,将边缘分为三段,用Hough变换进行圆的参数提取.最后,经过最大值的搜索得到圆的参数,小圆和大圆的半径统计方差分别达到了0.1493和0.3777.
【总页数】3页(P274-276)
【作者】刘良江;王耀南
【作者单位】410082,长沙湖南大学电气与信息工程学院;410082,长沙湖南大学电气与信息工程学院
【正文语种】中文
【中图分类】TP391
【相关文献】
1.一种基于广义Hough变换思想的多圆检测方法 [J], 郑东;杨明;许建
2.一种新的基于随机Hough变换的椭圆检测方法 [J], 陈燕新;戚飞虎
3.一种改进的基于Hough变换的精确圆检测方法 [J], 唐庆博;唐超;张恒浩
4.一种基于随机Hough变换的椭圆检测方法 [J], 邢诚;沈琦;谭小波;韩贤权
5.一种基于梯度Hough变换的同心圆检测新方法 [J], 陈星
因版权原因,仅展示原文概要,查看原文内容请购买。
基于有序Hough变换的快速圆检测算法
基于有序Hough变换的快速圆检测算法叶峰;陈灿杰;赖乙宗;陈剑东【摘要】针对随机Hough变换(RHT)及其改进算法在同一圆边缘点随机抽样时命中率低且投票处理过程复杂,提出了基于有序搜索的广义Hough变换快速圆检测算法(SQHT).该算法利用圆的几何性质和梯度方向信息来有序搜索圆边缘点集,将Hough变换的基于投票判定基元参数转变为有效确定基元三点的讨论.执行算法时,首先顺序搜寻第一边缘点并根据邻域边缘点集或图像灰度值计算其梯度值;接着在第一点所在行匹配与其梯度信息相符的第二点,根据前两点信息在第一点所在列匹配第三点;最后按照RHT算法流程确定有效基元参数,从而避免了随机抽样带来的时间不确定性.该算法具有计算速度快,检测时间可控,适用范围广泛,抗干扰性强等特点.相比于RHT算法,提出的算法在单目标圆检测情况下检测效率提高了2倍,在多目标圆(5个及以上)且有非目标边缘点情况下检测效率提高了5倍,在多圆检测方面能有效弥补了Hough变换算法的不足.【期刊名称】《光学精密工程》【年(卷),期】2014(022)004【总页数】7页(P1105-1111)【关键词】Hough变换;圆检测;有序搜索;梯度方向【作者】叶峰;陈灿杰;赖乙宗;陈剑东【作者单位】华南理工大学机械与汽车工程学院,广东广州510640;华南理工大学机械与汽车工程学院,广东广州510640;华南理工大学机械与汽车工程学院,广东广州510640;华南理工大学机械与汽车工程学院,广东广州510640【正文语种】中文【中图分类】TP391.411 引言圆检测是视觉处理的基础应用问题,目前主流的检测算法是基于Hough变换的方法,其基本思想是将图像的空间域变换到参数空间,用大多数边界点满足的某种参数形式来描述图像中的边缘曲线。
通过累加投票求得峰值对应点即为有效图元信息。
该方法具有可靠性高,对噪声、变形、部分区域残缺、边缘不连续适应性强等特点。
一种用Hough变换检测圆的快速算法
一种用Hough变换检测圆的快速算法
夏磊;蔡超;周成平;丁明跃
【期刊名称】《计算机应用研究》
【年(卷),期】2007(24)10
【摘要】为了克服传统Hough变换检测圆时耗时巨大的缺陷,给出了一种新的基于Hough变换检测圆的快速算法.新算法与传统的方法相比具有以下特点:计算量少,提高了检测的速度;保留了传统Hough变换识别率高、抗噪性强、对不完整边缘具有鲁棒性等所有优点;不需要任何特殊的限定条件.实验表明,新的快速算法可以快速进行目标识别,在实时目标识别系统中具有良好的表现.
【总页数】4页(P197-199,210)
【作者】夏磊;蔡超;周成平;丁明跃
【作者单位】华中科技大学,图像识别与人工智能研究所,图像信息处理与智能控制教育部重点实验室,武汉,430074;华中科技大学,图像识别与人工智能研究所,图像信息处理与智能控制教育部重点实验室,武汉,430074;华中科技大学,图像识别与人工智能研究所,图像信息处理与智能控制教育部重点实验室,武汉,430074;华中科技大学,图像识别与人工智能研究所,图像信息处理与智能控制教育部重点实验室,武汉,430074
【正文语种】中文
【中图分类】TP317
【相关文献】
1.一种基于Hough变换的圆和矩形的快速检测方法 [J], 秦开怀;王海颍;郑辑涛
2.基于约束抽样Hough变换的圆轮廓快速检测技术 [J], 崔继文;谭久彬
3.广义Hough变换:多个圆的快速随机检测 [J], 黎自强;滕弘飞
4.基于Hough变换实现圆的快速检测方法 [J], 孙晓敏;朱晓春;周雯超;李冉冉
5.基于改进随机Hough变换的混合圆/椭圆快速检测方法 [J], 于莉娜;胡正平;练秋生
因版权原因,仅展示原文概要,查看原文内容请购买。
一种快速的随机Hough变换圆检测算法
一种快速的随机Hough变换圆检测算法
张显全;苏勤;蒋联源;李国祥
【期刊名称】《计算机工程与应用》
【年(卷),期】2008(044)022
【摘要】随机Hough变换是检测圆的一种有效方法,但在处理复杂图像时随机采样带来的大量无效积累会导致计算量过大.提出一种快速的随机Hough变换圆检测算法,对证据积累的计算从三方面进行研究,有效地提高了计算速度,具有较好的应用价值.
【总页数】3页(P62-64)
【作者】张显全;苏勤;蒋联源;李国祥
【作者单位】广西师范大学,计算机科学系,广西,桂林,541004;广西师范大学,计算机科学系,广西,桂林,541004;广西工学院,计算机工程系,广西,柳州,545006;广西师范大学,计算机科学系,广西,桂林,541004
【正文语种】中文
【中图分类】TP391.41
【相关文献】
1.一种基于Hough变换的快速圆检测算法 [J], 王敏;童水光;陈玉辉;从飞云
2.基于随机Hough变换改进的快速圆检测算法 [J], 朱正伟;宋文浩;焦竹青;郭晓
3.快速随机Hough变换多圆检测算法 [J], 蒋联源;苏勤;祝英俊
4.一种基于随机Hough变换圆检测的改进算法 [J], 赵桂霞;黄山
5.基于随机采样的随机Hough变换快速圆检测算法 [J], 李建森;项偲
因版权原因,仅展示原文概要,查看原文内容请购买。
Hough变换快速检测圆形PCB Mark
Hough变换快速检测圆形PCB Mark柏长冰;齐春;宋福民;杨莹【期刊名称】《光电工程》【年(卷),期】2005(32)9【摘要】提出一种Hough变换检测圆形PCB(Printed Circuit Board,印刷电路板)Mark的方法.对检测图像进行阈值变换,并利用区域面积分割,将Mark区域和背景及噪声分离开来.计算Mark区域中心点,Hough变换圆心累加范围限制在这个中心点附近区域.依据Mark实际尺寸计算检测图像中Mark的半径,将累加器从三维降为二维.对检测图像进行Canny算子边缘检测后,采用先大间隔后小间隔的粗细累加策略,完成Hough变换检测.在全视觉贴片机SMT2505上应用表明,Mark中心检测误差和执行时间分别小于1个像素和50ms.继承了传统Hough变换检测精度高、抗噪能力强的优点,速度比传统Hough变换提高了2~3个数量级.【总页数】4页(P75-78)【作者】柏长冰;齐春;宋福民;杨莹【作者单位】西安交通大学,图像处理与识别研究所,陕西,西安,710049;西安交通大学,图像处理与识别研究所,陕西,西安,710049;广州市羊城科技实业有限公司,广东,广州,510520;西安交通大学,图像处理与识别研究所,陕西,西安,710049【正文语种】中文【中图分类】TN41【相关文献】1.随机Hough变换识别PCB圆形焊盘 [J], 杜培明;赵玉贵;陈亮2.基于"虚拟匹配"的PCB矩形Mark 视觉快速检测 [J], 柏长冰;齐春;宋福民;杨莹3.基于Hough变换的汽车零件中圆形检测的改进算法 [J], 孟德欣;谢二莲4.改进圆形Hough变换的田间红提葡萄果穗成熟度判别 [J], 周文静; 查志华; 吴杰5.基于改进Hough变换算法的圆形零件检测 [J], 熊保玉因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2006208224;修返日期:2006211217 基金项目:湖北省自然科学基金资助项目(2005ABA253) 作者简介:夏磊(19822),男,硕士研究生,主要研究方向为图像处理、目标识别(xlazy@sina .com );蔡超(19712),男,副教授,主要研究方向为小波分析、图像匹配、目标识别与跟踪、数据可视化等;周成平(19512),男,副教授,主要研究方向为图像处理、计算机视觉、任务规划等;丁明跃(19612),男,教授,博导,主要研究方向为图像处理与分析、计算机视觉及应用、医学图像处理和任务规划等.一种用Hough 变换检测圆的快速算法3夏 磊,蔡 超,周成平,丁明跃(华中科技大学图像识别与人工智能研究所图像信息处理与智能控制教育部重点实验室,武汉430074)摘 要:为了克服传统Hough 变换检测圆时耗时巨大的缺陷,给出了一种新的基于Hough 变换检测圆的快速算法。
新算法与传统的方法相比具有以下特点:计算量少,提高了检测的速度;保留了传统Hough 变换识别率高、抗噪性强、对不完整边缘具有鲁棒性等所有优点;不需要任何特殊的限定条件。
实验表明,新的快速算法可以快速进行目标识别,在实时目标识别系统中具有良好的表现。
关键词:目标识别;霍夫变换;圆的检测;快速算法中图分类号:TP317 文献标志码:A 文章编号:100123695(2007)1020197203New fast algorithm of Hough transfor m detecti on of circlesX I A Lei,C A I Chao,ZHOU Cheng 2p ing,D I N G M ing 2yue(Education M inistry Key L aboratory for I m age P rocessing &Intelligence Control,Institute of Pattern Recognition &A rtificial Intelligence,Hua 2zhong U niversity of Science &Technology,W uhan 430074,China )Abstract:This paper p r oposed a new fast algorith m f or the detecti on of circles,which i m p r oved the p r oble m of huge ti m e con 2su m ing when using the traditi onal Hough transfor m.The ne w algorith m had three advantages:l ow ti m e consu m ing;hold all the advantages of the traditi onal Hough transf or m such as high detecti on rate,r obust t o noise and frag mentary boundaries;did not need any s pecial qualificati on .Experi m ental results de monstrate that the ne w fast algorith m can be used f or fast target recogni 2ti on,which has a good perf or mance in real 2ti m e syste m.Key words:target recogniti on;Hough transf or m;circle detecti on;fast algorith m0 引言在日常生活和军事应用中,在不同视角下,许多物体以类似圆的形状出现,准确而有效地检测出这些圆形物体在图像中的位置就成为图像分析的一项重要工作。
在应用中经常采用的一种方法就是Hough 变换或其改进算法。
Hough 变换是Paul Hough 在1962年提出的一种图像边缘检测技术,它可以检测图像空间中的任意解析曲线[1]。
Hough 变换以其对局部缺损的不敏感、对随机噪声的鲁棒性以及适于并行处理等优良特性,备受图像处理、模式识别和计算机视觉领域学者的青睐。
Hough 变换的突出优点就是可以将图像中较为困难的全局检测问题转换为参数空间中相对容易解决的局部峰值检测问题。
然而利用传统的Hough 变换检测图像中的圆时,所需的计算量非常大、检测速度慢,需要研究新的快速方法。
到目前为止,对Hough 快速算法的研究主要集中在四个方面:对解析曲线方程进行变形来减少计算的复杂性[2];利用曲线的某些特殊性质来简化计算[3];通过减少累加器空间的维数来减少运算所需的存储空间[4];利用相位信息来减少计算量[5]。
但这些算法在实际应用中往往具有较大的局限性或要求的条件比较苛刻,不能适应一般情况。
如对解析曲线方程进行变形来减少计算复杂性的算法需要精确计算出边缘点的方向信息;利用曲线的某些特殊性质的算法在某些特殊情况下不能正常识别目标,如圆的边缘提取出来不到3/4圆周时;通过减少累加器空间的维数来减少运算所需的存储空间只是减少运算时所需的存储器空间,并不能减少算法的运算时间;利用相位信息的算法的抗噪性能不如传统算法[1]。
本文在Duda 提出的传统Hough 变换思想的基础上,结合坐标平移的知识提出了一种新的用Hough 变换检测圆的快速算法。
新算法可以较显著地提高检测速度,不需要任何限定条件;新算法需要与传统算法一样大小的累加器空间。
本文介绍了Hough 变换的原理,提出了用Hough 变换检测图像中圆的快速算法及计算量的分析。
1 Hough 变换原理Hough 变换检测圆的基本思想是将图像空间中的边缘点映射到参数空间中,然后将在参数空间中得到的所有坐标点元素对应的累加值进行累加统计,根据累加值判断圆的大小和圆心所在位置。
在笛卡尔坐标系下圆的方程为(x -x 0)2+(y -y 0)2=R 2(1)要确定x 0、y 0、R 需要一个三维的参数矩阵P (x 0,y 0,R )。
x 0、y 0、R 这三个参数生成了一个带有立方单元和累加器P (x 0,y 0,R )的三维参数空间。
这个过程是增加x 0、y 0,解出满足式第24卷第10期2007年10月 计算机应用研究App licati on Research of Computers Vol .24No .10Oct .2007(1)的R 。
R 的解为R =(x -x 0)2+(y -y 0)2(2)并更新对应于三元组(x 0,y 0,R )相关单元的累加器,最后累加器P 中累加极大值P max (x 0,y 0,R )所对应的坐标便是圆心坐标(x 0,y 0)。
如图1所示,从图像空间中取八个圆的边缘像素点A 、B 、C 、D 、E 、F 、G 、H,以R 为半径将这八个点映射到参数空间。
可以看到,这八个点在参数空间中的投影均在O 点相交,也即O 点的累加值在参数空间中是最大的。
同时,O 点也是图像空间中圆的圆心[1]。
此时,图像空间中每一边缘点映射到参数空间得到的投影为一个圆。
2 一种改进的用Hough 变换检测圆的快速算法在一些实时处理系统中,识别速度是关键性能的指标之一。
在Hough 变换原理的启发下,本章提出了一种改进的用Hough 变换检测圆的方法,大大减少了计算量,提高了目标识别速度。
211 算法基本思想传统的Hough 变换在图像中寻找半径已知的圆的圆心时,对整个图像进行遍历,寻找边缘点需要两重循环。
遍历到每个边缘点时,求其在参数空间中的投影集合需要两重循环。
所以传统的Hough 变换在检测半径已知圆时需要四重循环,这在实际计算中是极其耗时的。
当遍历到图像中的边缘点时,先求出边缘点(x n ,y n )映射到参数空间得到的坐标点集合,然后对集合中每个坐标点元素对应的累加值进行一次累加,此点在参数空间中的投影为坐标点集合F n ={(x n ,y n )|(x n -x 0)2+(y n -y 0)2=R 2}(设图像中边缘点的数目为N 个,则n 的取值范围为[1,N ])。
将图像放入坐标系中考虑时,由坐标平移的知识可以知道,当一个圆的圆心由点(x 0,y 0)平移到点(x 0+m ,y 0+n )时,圆上任意一点的坐标就由(x n ,y n )变为(x n +m ,y n +n )。
这样,图像中每个边缘点在参数空间中投影得到的坐标点集合就不需要通过计算得出,只需先求出一基准点在参数空间中的投影,投影得到的坐标点集合为F base ={(x base ,y base )|(x base -x 0)2+(y base -y 0)2=R 2},其余的边缘点在参数空间中的投影就可以通过将基准点在参数空间的投影即坐标点集合F base 平移得到。
这样处理有如下优点:在参数空间中减少参与运算的点,并且通过平移在参数空间得到的坐标点集合与通过计算在参数空间得到的坐标点集合基本相等。
对任意一边缘点(x n ,y n ),传统Hough 变换需要在参数空间中对以边缘点为中心,2R 为边长的正方形内所有像素点进行计算,判断是否是边缘点映射到参数空间得到的坐标点集合中的元素[1],一共需要计算2R ×2R 个像素点。
改进的算法只需在参数空间中移动N 个点(N 为正方形内满足圆的方程的像素点个数)。
由于正方形内的像素点不可能全部是边缘点映射到参数空间得到的坐标点集合中的元素,必有N <2R ×2R 。
212 快速算法新算法是通过将基准点在参数空间中的投影集合平移来得到其他边缘点在参数空间的投影集合,所以与传统Hough 算法相比,新算法需要一块额外的内存区域用于保存基准点在参数空间的投影集合。
新算法的基本步骤如下:a )在原始图像中取一基准点(x base ,y base ),以此点为圆心、R 为半径求在参数空间的投影,得到坐标点集合F base ,将所得到的坐标点集合F base 保存在一块内存区域base uni on 中。
b )对图像进行遍历,当遇到第一个边缘点(x 1,y 1)时,将base uni on 中保存的集合F base 中所有元素即所有坐标点的坐标分别加上x 、y 方向的偏移量x 1-x base 、y 1-y base ,得到一个新的坐标点集合F 1,然后在参数空间中将集合F 1中所有坐标点元素对应的累加值进行累加。