CN103903284A - 一种基于最小二乘法的多圆检测方法 - Google Patents
一种基于最小二乘法的多圆检测方法 Download PDFInfo
- Publication number
- CN103903284A CN103903284A CN201410110991.9A CN201410110991A CN103903284A CN 103903284 A CN103903284 A CN 103903284A CN 201410110991 A CN201410110991 A CN 201410110991A CN 103903284 A CN103903284 A CN 103903284A
- Authority
- CN
- China
- Prior art keywords
- pixel points
- target pixel
- circle
- scanning
- radius
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种基于最小二乘法的多圆检测方法,通过扫描检测图像上的目标像素点个数来判断检测图像是否为目标圆,确定检测图像为目标圆后提取目标像素点的坐标并通过最小二乘法拟合,计算高精度的目标圆圆心坐标与半径,更有效的、更快速的、更精确的检测多圆圆心,并且适用于图像质量不高的应用场合。
Description
[技术领域]
本发明涉及一种基于最小二乘法的多圆检测方法。
[背景技术]
机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器视觉产品(即图像摄取装置,分CMOS和CCD两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,根据像素分布和亮度、颜色等信息,转变成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。
随着机器视觉在工业中的广泛应用,各种特征提取与模式识别算法纷纷提出。在圆心检测中,广泛使用的算法有Hough变换及相应改进算法、最小二乘法、环路积分微分法、组合法、遗传算法、模拟退火算法等,上述各种算法各有优缺点,到目前为止,还没有哪一种算法能适应于所有环境。
[发明内容]
本发明克服了上述技术的不足,提供了一种基于最小二乘法的多圆检测方法,通过扫描检测图像上的目标像素点个数来判断检测图像是否为目标圆,确定检测图像为目标圆后提取目标像素点的坐标并通过最小二乘法拟合,计算高精度的目标圆圆心坐标与半径。
为实现上述目的,本发明采用了下列技术方案:
一种基于最小二乘法的多圆检测方法,其步骤如下:
第一步、设定图像的分辨率为M×N,以左上方的第一个像素点为原点,由左向右设为X轴,由上向下设为Y轴建立直角坐标系,设定目标像素点为白色的像素点,背景像素点为黑色的像素点,直角坐标系内任意点坐标为(x,y),圆心坐标为(Xc,Yc),半径为r,其中M、N、x、y为整数,r为实数;
第二步、从X=0,Y=0处沿X轴正方向扫描目标像素点,判断是否扫描得到一个目标像素点;
第三步、当扫描得到一个目标像素点时,设定为第一目标像素点,坐标为(X1,Y1),否则继续向右扫描直至X=M-1;
第四步、从第一目标点(X1,Y1)沿Y轴正方向扫描是否存在目标像素点,当从第一目标点(X1,Y1)沿Y轴正方向扫描得到一个目标像素点时,设定为第二目标像素点,坐标为(X1,Y2),否则继续向下扫描直至Y=N-1;
第五步、计算圆心坐标Xc=X1,Yc=(Y1+Y2)/2,半径r=(Y2-Y1)/2,扫描在Xc-r-B<x<Xc-r+B,Yc-C<y<Yc+C的范围内是否存在一个目标像素点,其中B、C为常数;
第六步、当在Xc-r-B<x<Xc-r+B,Yc-C<y<Yc+C的范围内扫描得到一个目标像素点时,则扫描在Xc+r-B<x<Xc+r+B,Yc-C<y<Yc+C的范围内是否存在一个目标像素点,否则从第二目标像素点(X1,Y2)继续沿Y轴正方向扫描是否存在目标像素点;
第七步、当在Xc+r-B<X<Xc+r+B,Yc-C<Y<Yc+C的范围内扫描得到一个目标像素点时,则扫描以圆心为(Xc,Yc)、半径为r-B和圆心为(Xc,Yc)、半径为r+B组成的圆环范围内的目标像素点个数,并判断目标像素点个数是否多于目标像素点总数阈值0.8A,其中A=2×π×r,r=(Y2-Y1)/2;
第八步、当扫描以圆心为(Xc,Yc)、半径为r-B和圆心为(Xc,Yc)、半径为r+B组成的圆环范围内的目标像素点个数多于目标像素点总数阈值A时,提取所有目标像素点的坐标,进行最小二乘法拟合,计算高精度的圆心坐标(Xc′,Yc′)与半径r′,并将上述目标像素点设置成背景像素点,否则从第二目标像素点(X1,Y2)沿Y轴正方向扫描目标像素点。
所述常数B的取值范围为0≤B≤15,所述常数C的取值范围为0≤C≤15。
本发明的有益效果是:
本发明提供了一种基于最小二乘法的多圆检测方法,能有效的、快速的、精确的检测多圆圆心,尤其适用于图像质量不高的应用场合。
[附图说明]
图1为本发明原理图一;
图2为本发明原理图二;
图3为本发明原理图三;
图4为本发明原理图四;
图5为本发明的流程示意图。
[具体实施方式]
下面结合附图与本发明的实施方式作进一步详细的描述:
如图1所示,一种基于最小二乘法的多圆检测方法,其步骤如下:
步骤一、设定图像的分辨率为M×N,以左上方的第一个像素点为原点,由左向右设为X轴,由上向下设为Y轴建立直角坐标系,设定目标像素点为白色的像素点,背景像素点为黑色的像素点,直角坐标系内任意点坐标为(x,y),圆心坐标为(Xc,Yc),半径为r,其中M、N、x、y为整数,r为实数;
步骤二、从X=0,Y=0处沿X轴正方向扫描目标像素点,判断是否扫描得到一个目标像素点;
步骤三、当从X=0,Y=0处沿X轴正方向扫描得到一个目标像素点时,设定为第一目标像素点,坐标为(X1,Y1),并从第一目标点(X1,Y1)沿Y轴正方向扫描像素点,判断是否扫描得到一个目标像素点,否则继续向右扫描直至X=M-1;
步骤四、当从第一目标点(X1,Y1)沿Y轴正方向扫描得到一个目标像素点时,设定为第二目标像素点,坐标为(X1,Y2),否则继续沿Y轴正方向扫描直至Y=N-1;
步骤五、计算圆心坐标Xc=X1,Yc=(Y1+Y2)/2,半径r=(Y2-Y1)/2,扫描在Xc-r-B<x<Xc-r+B,Yc-C<y<Yc+C的范围内是否存在一个目标像素点,其中B、C为常数;
步骤六、当在Xc-r-B<x<Xc-r+B,Yc-C<y<Yc+C的范围内扫描得到一个目标像素点时,则扫描在Xc+r-B<x<Xc+r+B,Yc-C<y<Yc+C的范围内是否存在一个目标像素点,否则从第二目标像素点(X1,Y2)继续沿Y轴正方向扫描是否存在目标像素点;
步骤七、当在Xc+r-B<X<Xc+r+B,Yc-C<Y<Yc+C的范围内扫描得到一个目标像素点时,则扫描以圆心为(Xc,Yc)、半径为r-B和圆心为(Xc,Yc)、半径为r+B组成的圆环范围内的目标像素点个数,并判断目标像素点个数是否多于目标像素点总数阈值0.8A,其中A=2×π×r,r=(Y2-Y1)/2;
步骤八、当扫描以圆心为(Xc,Yc)、半径为r-B和圆心为(Xc,Yc)、半径为r+B组成的圆环范围内的目标像素点个数多于目标像素点总数阈值A时,提取所有目标像素点的坐标,进行最小二乘法拟合,计算高精度的圆心坐标(Xc′,Yc′)与半径r′,并将上述目标像素点设置成背景像素点,否则从第二目标像素点(X1,Y2)沿Y轴正方向扫描目标像素点。
其中,所述常数B的取值范围为0≤B≤15,所述常数C的取值范围为0≤C≤15。B和C的值根据图像质量作适当调整。
对于单圆检测,所有的目标像素点都参与首次最小二乘拟合计算,但对于多圆检测,第一步就是要将所有的目标点分成点组,再参与各个圆的圆心检测。
点组提取原理如下:
首先以图像左上方的第一个像素点为原点,由左向右设为X轴,由上向下设为Y轴建立直角坐标系;从X轴正方向扫描目标像素点,当扫描到第一个目标像素点时,设定第一目标像素点坐标为(X1,Y1);从第一目标像素点(X1,Y1)沿Y轴正方向扫描,当沿Y轴正方向扫描到另一个目标像素点时,设定第二目标像素点坐标为(X1,Y2);因此由这两个目标像素点的坐标可初步确定圆心(Xc,Yc)和半径r,分别如下:Xc=X1,Yc=(Y1+Y2)/2,r=(Y2-Y1)/2。
根据圆的几何特性,在坐标点(Xc-r,Yc)和坐标点(Xc+r,Yc)处会存在两个目标点,若存在,则初步认为是一个圆;若不存在,则从第二目标点(X1,Y2)继续沿y轴正方向扫描,并重复上述步骤进行判断图像是否为一个圆。
但实际的图像中,往往存在透视变换致使图像并不是一个严格的圆,因此通过在坐标点(Xc-r,Yc)和点(Xc+r,Yc)处,分别设定一个误差范围,扫描在误差范围内是否存在目标像素点,来判断图像是否为一个圆,原理如图2所示,
若在如图2所示两个误差范围内各存在一个目标点,则初步认为是一个圆;若不存在,则从第二目标点(X1,Y2)继续沿y轴正方向扫描,通过如上方法进行判断,直至图像最下方。
误差范围大小可根据图像质量来调整,当图像质量较高时,可设置较小误差范围;当图像质量较低时,可设置较大误差范围。设置合适的误差范围可有效降低误判率。
如图3所示,当初步确定为一个圆后,根据圆心坐标(Xc,Yc)及半径r,来对整个圆的像素点设定误差范围。
由于图像中存在噪点,若因噪点影响,刚好在目标像素点误差范围内存在两个噪点(非目标点),会产生误判。因此通过比较组成这个圆的目标像素点个数是否不低于阈值A,从而判断该圆是否为目标圆。若判断为目标圆后,就将目标圆内所有目标像素点作为一个点组参与最小二乘拟合,滤除残差较大的目标像素点后,再次拟合即可获得高精度的圆心坐标(Xc,Yc)和半径r。
为了避免对下一个目标圆扫描时出现误判,提取点组后将上述组成目标圆的目标像素点置为黑色的背景像素点。
Claims (2)
1.一种基于最小二乘法的多圆检测方法,其步骤如下:
a)设定图像的分辨率为M×N,以左上方的第一个像素点为原点,由左向右设为X轴,由上向下设为Y轴建立直角坐标系,设定目标像素点为白色的像素点,背景像素点为黑色的像素点,直角坐标系内任意点坐标为(x,y),圆心坐标为(Xc,Yc),半径为r,其中M、N、x、y为整数,r为实数;
b)从X=0,Y=0处沿X轴正方向扫描目标像素点,判断是否扫描得到一个目标像素点;
c)当扫描得到一个目标像素点时,设定为第一目标像素点,坐标为(X1,Y1),否则继续向右扫描直至X=M-1;
d)从第一目标点(X1,Y1)沿Y轴正方向扫描是否存在目标像素点,当从第一目标点(X1,Y1)沿Y轴正方向扫描得到一个目标像素点时,设定为第二目标像素点,坐标为(X1,Y2),否则继续向下扫描直至Y=N-1;
e)计算圆心坐标Xc=X1,Yc=(Y1+Y2)/2,半径r=(Y2-Y1)/2,扫描在Xc-r-B<x<Xc-r+B,Yc-C<y<Yc+C的范围内是否存在一个目标像素点,其中B、C为常数;
f)当在Xc-r-B<x<Xc-r+B,Yc-C<y<Yc+C的范围内扫描得到一个目标像素点时,则扫描在Xc+r-B<x<Xc+r+B,Yc-C<y<Yc+C的范围内是否存在一个目标像素点,否则从第二目标像素点(X1,Y2)继续沿Y轴正方向扫描是否存在目标像素点;
g)当在Xc+r-B<X<Xc+r+B,Yc-C<Y<Yc+C的范围内扫描得到一个目标像素点时,则扫描以圆心为(Xc,Yc)、半径为r-B和圆心为(Xc,Yc)、半径为r+B组成的圆环范围内的目标像素点个数,并判断目标像素点个数是否多于目标像素点总数阈值0.8A,其中A=2×π×r,r=(Y2-Y1)/2;
h)当扫描以圆心为(Xc,Yc)、半径为r-B和圆心为(Xc,Yc)、半径为r+B组成的圆环范围内的目标像素点个数多于目标像素点总数阈值A时,提取所有目标像素点的坐标,进行最小二乘法拟合,计算高精度的圆心坐标(Xc′,Yc′)与半径r′,并将上述目标像素点设置成背景像素点,否则从第二目标像素点(X1,Y2)沿Y轴正方向扫描目标像素点。
2.一种基于最小二乘法的多圆检测方法,其特征在于:所述常数B的取值范围为0≤B≤15,所述常数C的取值范围为0≤C≤15。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410110991.9A CN103903284A (zh) | 2014-03-24 | 2014-03-24 | 一种基于最小二乘法的多圆检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410110991.9A CN103903284A (zh) | 2014-03-24 | 2014-03-24 | 一种基于最小二乘法的多圆检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103903284A true CN103903284A (zh) | 2014-07-02 |
Family
ID=50994591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410110991.9A Pending CN103903284A (zh) | 2014-03-24 | 2014-03-24 | 一种基于最小二乘法的多圆检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103903284A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106373117A (zh) * | 2016-08-30 | 2017-02-01 | 广西科技大学 | 一种快速的多圆检测方法 |
CN110487183A (zh) * | 2019-08-27 | 2019-11-22 | 中国科学技术大学 | 一种多目标光纤位置精确检测系统及使用方法 |
CN111102897A (zh) * | 2019-11-29 | 2020-05-05 | 中国航发沈阳黎明航空发动机有限责任公司 | 一种弧块类零件拟合分析方法 |
CN111739006A (zh) * | 2020-06-22 | 2020-10-02 | 深圳企业云科技股份有限公司 | 一种基于围道积分的椭圆图像检测算法及系统 |
CN112634345A (zh) * | 2020-12-18 | 2021-04-09 | 福州华虹智能科技股份有限公司 | 基于最小二乘法的图像特征信息提取矿井壁图像的方法 |
CN113624192A (zh) * | 2021-08-18 | 2021-11-09 | 江苏科技大学 | 一种基于多重优选的大型柴油机孔系同轴度的测量方法 |
CN117884984A (zh) * | 2024-02-27 | 2024-04-16 | 山东钰哲光电有限公司 | 一种光学镜片加工用打磨机智能控制方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050105827A1 (en) * | 2003-09-09 | 2005-05-19 | Fuji Photo Film Co., Ltd. | Method and apparatus for detecting positions of center points of circular patterns |
CN101604380A (zh) * | 2009-07-21 | 2009-12-16 | 上海理工大学 | 人头识别直径搜索法 |
CN103150730A (zh) * | 2013-03-07 | 2013-06-12 | 南京航空航天大学 | 一种基于图像的圆形小目标精确检测方法 |
-
2014
- 2014-03-24 CN CN201410110991.9A patent/CN103903284A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050105827A1 (en) * | 2003-09-09 | 2005-05-19 | Fuji Photo Film Co., Ltd. | Method and apparatus for detecting positions of center points of circular patterns |
CN101604380A (zh) * | 2009-07-21 | 2009-12-16 | 上海理工大学 | 人头识别直径搜索法 |
CN103150730A (zh) * | 2013-03-07 | 2013-06-12 | 南京航空航天大学 | 一种基于图像的圆形小目标精确检测方法 |
Non-Patent Citations (2)
Title |
---|
代娜: "基于机器视觉的小型规则零件二维尺寸测量研究", 《中国优秀硕士论文全文数据库 信息科技辑》 * |
张翼 等: "圆形目标实时检测的改进算法研究", 《计算机与数字工程》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106373117A (zh) * | 2016-08-30 | 2017-02-01 | 广西科技大学 | 一种快速的多圆检测方法 |
CN106373117B (zh) * | 2016-08-30 | 2019-02-05 | 南京航空航天大学 | 一种快速的多圆检测方法 |
CN110487183A (zh) * | 2019-08-27 | 2019-11-22 | 中国科学技术大学 | 一种多目标光纤位置精确检测系统及使用方法 |
CN111102897A (zh) * | 2019-11-29 | 2020-05-05 | 中国航发沈阳黎明航空发动机有限责任公司 | 一种弧块类零件拟合分析方法 |
CN111102897B (zh) * | 2019-11-29 | 2022-04-12 | 中国航发沈阳黎明航空发动机有限责任公司 | 一种弧块类零件拟合分析方法 |
CN111739006A (zh) * | 2020-06-22 | 2020-10-02 | 深圳企业云科技股份有限公司 | 一种基于围道积分的椭圆图像检测算法及系统 |
CN111739006B (zh) * | 2020-06-22 | 2021-07-13 | 深圳企业云科技股份有限公司 | 一种基于围道积分的椭圆图像检测算法及系统 |
CN112634345A (zh) * | 2020-12-18 | 2021-04-09 | 福州华虹智能科技股份有限公司 | 基于最小二乘法的图像特征信息提取矿井壁图像的方法 |
CN112634345B (zh) * | 2020-12-18 | 2023-03-31 | 福州华虹智能科技股份有限公司 | 基于最小二乘法的图像特征信息提取矿井壁图像的方法 |
CN113624192A (zh) * | 2021-08-18 | 2021-11-09 | 江苏科技大学 | 一种基于多重优选的大型柴油机孔系同轴度的测量方法 |
CN117884984A (zh) * | 2024-02-27 | 2024-04-16 | 山东钰哲光电有限公司 | 一种光学镜片加工用打磨机智能控制方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103903284A (zh) | 一种基于最小二乘法的多圆检测方法 | |
CN103984961A (zh) | 一种用于检测车底异物的图像检测方法 | |
CN106446894B (zh) | 一种基于轮廓识别球型目标物位置的方法 | |
CN101571419B (zh) | 采用图像分割的汽车仪表led指示灯自动检验方法 | |
CN105453153B (zh) | 交通灯检测 | |
CN111080582B (zh) | 工件内外表面缺陷检测方法 | |
CN103177259A (zh) | 色块识别方法及装置 | |
CN107705283B (zh) | 基于Otsu图像分割的颗粒与气泡碰撞检测方法 | |
CN106197612B (zh) | 一种基于机器视觉的透明瓶装液位检测方法 | |
CN109813727A (zh) | 一种基于深度信息的pcb板焊接缺陷检测方法 | |
CN102799867A (zh) | 基于图像处理的仪表指针转角识别方法 | |
CN102789578B (zh) | 基于多源目标特征支持的红外遥感图像变化检测方法 | |
CN102929438B (zh) | 光学式触控装置及其检测触控点坐标的方法 | |
CN103308523B (zh) | 多尺度瓶口缺陷检测方法及装置 | |
CN106709952B (zh) | 一种显示屏幕的自动标定方法 | |
US9197860B2 (en) | Color detector for vehicle | |
CN105023265A (zh) | 鱼眼镜头下的棋盘格角点自动检测方法 | |
CN106651837B (zh) | 白玻璃板表面崩边缺陷检测方法 | |
CN106327464A (zh) | 一种边缘检测方法 | |
CN109829886A (zh) | 一种基于深度信息的pcb板缺陷检测方法 | |
CN104331695A (zh) | 一种鲁棒的圆形标志符形状质量检测方法 | |
CN102129685A (zh) | 一种基于高斯金字塔分解的不规则圆检测方法 | |
CN110807763A (zh) | 一种陶瓦表面鼓包检测方法及系统 | |
JP5320216B2 (ja) | 画像処理装置、画像処理システムおよび画像処理方法 | |
CN103150725B (zh) | 基于非局部均值的susan边缘检测方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140702 |