一种基于机器视觉的生产线上瓶体的定位方法转让专利

申请号 : CN201210136801.1

文献号 : CN102708368B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王耀南张耀毛建旭周博文刘彩苹张辉葛继吴成中陈俊朱慧慧周金丽

申请人 : 湖南大学

摘要 :

本发明公开了一种基于机器视觉的生产线上瓶体的定位方法,包括以下步骤:步骤1:采集瓶体的图像以及对图像进行预处理;步骤2:提取多组瓶体外边缘点集:对预处理后的图像进行纵向直线轨迹和定点圆轨迹的两次扫描,并利用最小偏差绝对值和的方法有效去除误差点;步骤3:对边缘点集进行整合,并将整合后的边缘点集实施最小二乘法进行直线拟合,得到边缘特征线集;步骤4:根据线集元素之间的相交性关系求出异型瓶瓶身的定位特征角点,并根据特征角点得到包括瓶身偏转角、瓶高、瓶宽、几何中心的瓶身特征信息。该基于机器视觉的生产线上瓶体的定位方法能自动识别、快速精准定位。

权利要求 :

1.一种基于机器视觉的生产线上瓶体的定位方法,其特征在于,包括以下步骤:步骤1:采集瓶体的图像以及对图像进行预处理;

步骤2:提取多组瓶体外边缘点集:对预处理后的图像进行纵向直线轨迹和定点圆轨迹的两次扫描,并利用最小偏差绝对值和的方法有效去除误差点;

步骤3:对边缘点集进行整合,并将整合后的边缘点集实施最小二乘法进行直线拟合,得到边缘特征线集;

步骤4:根据线集元素之间的相交性关系求出异型瓶瓶身的定位特征角点,并根据特征角点得到包括瓶身偏转角、瓶高、瓶宽、几何中心的瓶身特征信息;

步骤2的具体实现过程为:

①纵向直线轨迹线扫描提取瓶体直线外边缘点集:在边缘图像中均匀纵向取直线2h+1条,从直线的两端向中间扫描,记录第一个非零点的图像坐标分别抽取瓶体轮廓上边缘线上点集Blu和下边缘线上点集Bld;其中,

2≤h≤IWidth/2,IWidth为图像宽度;

②用最小偏差绝对值和的方法在上下边缘点集中去除粗大误差点;

在上边缘点集Blu中,每相邻两点确定一条直线,则总共可以确定2h条直线,记为线集Llu:在下边缘点集Bld中,同样的方式也可以确定2h条直线,记为线集Lld:对于特征线集Llu中的每个元素,求取特征点集Blu中的每个点到它的距离之和,记为:其中,

在所有 中取最小值 其对应的直线记为 将满足j=1,2,…,2h+1

的点 从点集Blu中删除,形成新的点集同理,对于特征线集Lld中的每个元素,求取特征点集Bld中的每个点到它的距离之和,记为:其中,

在所有 中取最小值 其对应的直线记为 将满足j=1,2,…,2h+1

的点 从点集Blu中删除,形成新的点集③圆轨迹扫描提取瓶身肩部和底部外边缘点集:在点集 和 中,选取最靠近左上角、右上角、左下角、右下角的点Olu、Oru、Old、Ord作为圆轨迹扫描的4个基准圆心;以这四个基准圆心产生4组每组2g+1个半径不同的同心圆的圆轨迹扫描线;其中,2≤g≤Iheight/5,Iheight为图像高度;

在圆轨迹扫描过程中为了能够准确无误的抽取边缘点,需要设置圆轨迹扫描角步长,不同半径的圆轨迹扫描时应该使用不同的角步长 关系如下:其中,R是圆轨迹扫描半径;

经过四组圆轨迹扫描,可以分别抽取到上肩部外边缘点集Bclu、下肩部外边缘点集Bcld、上底部外边缘点集Bcru和下底部外边缘点集Bcrd;

④用最小偏差绝对值和的方法在肩部、底部边缘点集中去除误差点:在上肩部外边缘点集Bclu中,每相邻两点确定一条直线,则总共可以确定2g条直线,记为线集Lclu:在下肩部边缘点集Bcld,上底部外边缘点集Bcru,下底部外边缘点集Bcrd中,每相邻两点确定一条直线,各确定2g条直线,分别记为线集Lcld、Lcru、Lcrd(1)对于特征线集Lclu中的每个元素,求取特征点集Bclu中的每个点到它的距离之和,记为:其中,

在所有 中取最小值 其对应的直线记为 将满足j=1,2,…,2g+1

的点 从点集Bclu中删除,形成新的点集(2)对于特征线集Lcld中的每个元素,求取特征点集Bcld中的每个点到它的距离之和,记为:其中,

在所有 中取最小值 其对应的直线记为 将满足j=1,2,…,2g+1;

的点 从点集Bclu中删除,形成新的点集(3)对于特征线集Lcru中的每个元素,求取特征点集Bcru中的每个点到它的距离之和,记为:其中,

在所有 中取最小值 其对应的直线记为 将满足j=1,2,…,2g+1

的点 从点集Bclu中删除,形成新的点集(4)对于特征线集Lcrd中的每个元素,求取特征点集Bcrd中的每个点到它的距离之和,记为:其中,

在所有 中取最小值 其对应的直线记为 将满足j=1,2,…,2g+1

的点 从点集Bclu中删除,形成新的点集步骤3的具体实现过程为:首先对上边缘、下边缘、上肩部外边缘、下肩部外边缘、上底部外边缘、下底部外边缘六组边缘点集进行整合:将上肩部边缘点集 重新记为 将下肩部边缘点集 重新记为 将上底部边缘点集 和下底部边缘点集 求并,整合成新的底边缘点集 保持 和 不变;于是,六组点集被重新整合为五组;

然后,使用最小二乘法对五组点集分别进行拟合:最小二乘法进行直线拟合的拟合多项式为:y=b+kx,其中k为直线斜率,b为y轴截距;

使用点集 分别得到拟合直线

至此,由特征边缘点集上升到了边缘特征线集:步骤4的具体实现过程为:

根据线集元素之间的相交性关系求出异型瓶瓶身的定位特征角点,并根据特征角点给出进一步的瓶身特征信息:由直线 和 的斜截式直线方程联立,解得交点Ju,即上肩部点;

由直线 和 的斜截式直线方程联立,解得交点Du,即上底顶点;

由直线 和 的斜截式直线方程联立,解得交点Jd,即下肩部点;

由直线 和 的斜截式直线方程联立,解得交点Dd,即下底顶点;

Ju、Jd、Du、Dd即异型瓶瓶身定位的特征角点;

以下给出根据特征角点计算的其他瓶身特征信息的计算式:瓶身偏转角:

瓶高:

瓶宽:

几何中心:

P=(Px,Py);

其中,

2.根据权利要求1所述的基于机器视觉的生产线上瓶体的定位方法,其特征在于,步骤1中,先对采集到的原始瓶体图像进行一次3×3的中值滤波操作;

再使用Sobel边缘检测算子对滤波后的图像进行边缘检测,并给定阈值将边缘图像二值化;

使用4×4的矩形膨胀算子对初始边缘图像进行一次膨胀操作;

使用3×3的矩形腐蚀算子对膨胀后的边缘图像进行一次腐蚀操作;预处理的结果是得到边缘优化的图像。

说明书 :

一种基于机器视觉的生产线上瓶体的定位方法

技术领域

[0001] 本发明属于视觉定位方法领域,涉及一种基于机器视觉的生产线上瓶体的定位方法,用于制药工业生产线上基于机器视觉的异型瓶药液内可见异物在线检测过程。

背景技术

[0002] 在现代大型异型瓶药液、保健酒、饮料等产品的质量、包装检测生产线上,尤其是全自动的智能视觉灯检设备上,要求对异型瓶瓶体能够进行精确的定位。而现有生产线上的定位装置主要以机械定位为主,其精度较低,定位速度慢,而且灵活性差,无法满足现代高速自动化检测生产线的要求。在采用跟踪拍照方式的智能视觉灯检设备上,机械定位更是无法满足视觉检测的要求,往往由于机械的抖动和跟踪误差导致误检率的大幅度攀升。基于机器视觉的定位方法有着高速、高精度、高智能化等优点,因而也越来越受到重视。
[0003] 在现行的基于机器视觉的异型瓶定位方法中,主要有模板匹配法。在实际生产中,由于模板匹配法的定位精度不高,不能很好的降低产品的误检率。同时模板匹配法的大计算量导致检测过程的实时性降低。因此,异型瓶药液、保健酒、饮料等产品的视觉检测设备上迫切需要一种速度快、精度高的视觉定位新方法。

发明内容

[0004] 本发明所要解决的技术问题是提供一种基于机器视觉的生产线上瓶体的定位方法,该基于机器视觉的生产线上瓶体的定位方法能自动识别、快速精准定位。
[0005] 发明的技术解决方案如下:
[0006] 一种基于机器视觉的生产线上瓶体的定位方法,包括以下步骤:
[0007] 步骤1:采集瓶体的图像以及对图像进行预处理;
[0008] 步骤2:提取多组瓶体外边缘点集:对预处理后的图像进行纵向直线轨迹和定点圆轨迹的两次扫描,并利用最小偏差绝对值和的方法有效去除误差点;
[0009] 步骤3:对边缘点集进行整合,并将整合后的边缘点集实施最小二乘法进行直线拟合,得到边缘特征线集;
[0010] 步骤4:根据线集元素之间的相交性关系求出异型瓶瓶身的定位特征角点,并根据特征角点得到包括瓶身偏转角、瓶高、瓶宽、几何中心的瓶身特征信息。
[0011] 步骤1中,先对采集到的原始瓶体图像进行一次3×3的中值滤波操作;
[0012] 再使用Sobel边缘检测算子对滤波后的图像进行边缘检测,并给定阈值将边缘图像二值化;
[0013] 使用4×4的矩形膨胀算子对初始边缘图像进行一次膨胀操作;
[0014] 使用3×3的矩形腐蚀算子对膨胀后的边缘图像进行一次腐蚀操作;预处理的结果是得到边缘优化的图像。
[0015] 步骤2的具体实现过程为:
[0016] ①纵向直线轨迹线扫描提取瓶体直线外边缘点集:
[0017] 在边缘图像中均匀纵向取直线2h+1条,从直线的两端向中间扫描,记录第一个非零点的图像坐标分别抽取瓶体轮廓上边缘线上点集Blu和下边缘线上点集Bld;其中,2≤h≤IWidth/2,IWidth为图像宽度;h越大表示取线的密度越大,抽取点集数据量越大,定位精度越高。
[0018] ②用最小偏差绝对值和的方法在上下边缘点集中去除粗大误差点。
[0019] 在上边缘点集Blu中,每相邻两点确定一条直线,则总共可以确定2h条直线,记为线集Llu:
[0020]
[0021] 在下边缘点集Bld中,同样的方式也可以确定2h条直线,记为线集Lld:
[0022]
[0023] 对于特征线集Llu中的每个元素,求取特征点集Blu中的每个点到它的距离之和,记为:
[0024]
[0025] 其中,
[0026]
[0027] 在所有 中取最小值 其对应的直线记为 将满足
[0028]
[0029] 的点 从点集Blu中删除,形成新的点集
[0030] 同理,对于特征线集Lld中的每个元素,求取特征点集Bld中的每个点到它的距离之和,记为:
[0031]
[0032] 其中,
[0033]
[0034] 在所有 中取最小值 其对应的直线记为 将满足
[0035]
[0036] 的点 从点集Blu中删除,形成新的点集
[0037] ③圆轨迹扫描提取瓶身肩部和底部外边缘点集:
[0038] 在点集 和 中,选取最靠近左上角、右上角、左下角、右下角的点Olu、Oru、Old、Ord作为圆轨迹扫描的4个基准圆心;以这四个基准圆心产生4组每组2g+1个半径不同的同心圆的圆轨迹扫描线;其中,2≤g≤Iheight/5,Iheight为图像高度;
[0039] 在圆轨迹扫描过程中为了能够准确无误的抽取边缘点,需要设置圆轨迹扫描角步长,不同半径的圆轨迹扫描时应该使用不同的角步长 关系如下:
[0040]
[0041] 其中,R是圆轨迹扫描半径;
[0042] 经过四组圆轨迹扫描,可以分别抽取到上肩部外边缘点集Bclu、下肩部外边缘点集Bcld、上底部外边缘点集Bcru和下底部外边缘点集Bcrd;
[0043] ④用最小偏差绝对值和的方法在肩部、底部边缘点集中去除误差点:
[0044] 在上肩部外边缘点集Bclu中,每相邻两点确定一条直线,则总共可以确定2g条直线,记为线集Lclu:
[0045]
[0046] 在下肩部边缘点集Bcld,上底部外边缘点集Bcru,下底部外边缘点集Bcrd中,每相邻两点确定一条直线,各确定2g条直线,分别记为线集Lcld、Lcru、Lcrd
[0047]
[0048]
[0049]
[0050] (1)对于特征线集Lclu中的每个元素,求取特征点集Bclu中的每个点到它的距离之和,记为:
[0051]
[0052] 其中,
[0053]
[0054] 在所有 中取最小值 其对应的直线记为 将满足
[0055]
[0056] 的点 从点集Bclu中删除,形成新的点集
[0057] (2)对于特征线集Lcld中的每个元素,求取特征点集Bcld中的每个点到它的距离之和,记为:
[0058]
[0059] 其中,
[0060]
[0061] 在所有 中取最小值 其对应的直线记为 将满足
[0062]
[0063] 的点 从点集Bclu中删除,形成新的点集
[0064] (3)对于特征线集Lcru中的每个元素,求取特征点集Bcru中的每个点到它的距离之和,记为:
[0065]
[0066] 其中,
[0067]
[0068] 在所有 中取最小值 其对应的直线记为 将满足
[0069]
[0070] 的点 从点集Bclu中删除,形成新的点集
[0071] (4)对于特征线集Lcrd中的每个元素,求取特征点集Bcrd中的每个点到它的距离之和,记为:
[0072]
[0073] 其中,
[0074]
[0075] 在所有 中取最小值 其对应的直线记为 将满足
[0076]
[0077] 的点 从点集Bclu中删除,形成新的点集
[0078] 步骤2的具体实现过程为:首先对上边缘、下边缘、上肩部外边缘、下肩部外边缘、上底部外边缘、下底部外边缘六组边缘点集进行整合:将上肩部边缘点集 重新记为将下肩部边缘点集 重新记为 将上底部边缘点集 和下底部边缘点集 求并,整合成新的底边缘点集 保持 和 不变;于是,六组点集被重新整合为五组;
[0079] 然后,使用最小二乘法对五组点集分别进行拟合:
[0080] 最小二乘法进行直线拟合的拟合多项式为:y=b+kx,其中k为直线斜率,b为y轴截距;
[0081] 使用点集 分别得到拟合直线至此,由特征边缘点集上升到了边缘特征线集:
[0082]
[0083] 步骤4的具体实现过程为:
[0084] 根据线集元素之间的相交性关系求出异型瓶瓶身的定位特征角点,并根据特征角点给出进一步的瓶身特征信息:
[0085] 由直线 和 的斜截式直线方程联立,解得交点Ju,即上肩部点;
[0086] 由直线 和 的斜截式直线方程联立,解得交点Du,即上底顶点;
[0087] 由直线 和 的斜截式直线方程联立,解得交点Jd,即下肩部点;
[0088] 由直线 和 的斜截式直线方程联立,解得交点Dd,即下底顶点。
[0089] Ju、Jd、Du、Dd即异型瓶瓶身定位的特征角点;
[0090] 以下给出根据特征角点计算的其他瓶身特征信息的计算式:
[0091] 瓶身偏转角:
[0092]
[0093] 瓶高:
[0094]
[0095] 瓶宽:
[0096]
[0097] 几何中心:
[0098] P=(Px,Py);
[0099] 其中,
[0100]
[0101] 有益效果:
[0102] 本发明的基于机器视觉的生产线上瓶体的定位方法,与现有技术相比,其突出的优点在于:
[0103] (1)、定位速度快。
[0104] 本发明方法使用部分线扫描的方式抽取特征点集,并在特征点集的基础上进行进一步定位计算,从而避免了模板匹配定位方法中的全图像规模运算,有效的降低了算法的复杂度。
[0105] (2)、定位精度高。
[0106] 定位结果产生于线扫描特征点集的运算基础之上,从而使得定位精度在图像上表现为单像素级的定位精度。同时,增加线扫描线的条数可以进一步提高定位精度。
[0107] (3)、适用性广。
[0108] 算法采用线扫描方法提取特征点,通过特征点集的进一步运算产生定位信息,不同的线扫描方法和不同的运算方法的引入可使得该定位算法在不同形状的瓶体定位中得到进一步的扩展。
[0109] 本发明是一种能在高速自动化异型瓶药液、饮料等产品的视觉质量检测生产线上实现自动识别、快速精准定位,并能够和视觉异物检测算法配合实现高效、高精度的异型瓶装液体产品质量检测的快速视觉定位方法。

附图说明

[0110] 图1是本发明视觉定位方法的流程总框图;
[0111] 图2是本发明中定位算法的定位目标瓶体形状示意图;
[0112] 图3是纵向直线轨迹扫描点集提取方法示意图;
[0113] 图4是圆轨迹扫描过程中一定半径轨迹的角度步长确定;
[0114] 图5是圆轨迹扫描点集提取方法示意图;
[0115] 图6是直线拟合过程的示意图;
[0116] 图7是整个定位算法的处理效果实例(其中,(a)原始瓶体图像;(b)3×3的中值滤波后的瓶体图像;(c)用Sobel边缘检测算子检测的边缘图像;(d)形态学优化后的边缘图像;(e)纵向直线轨迹扫描;(f)直线轨迹扫描特征点集;(g)圆轨迹扫描及其得到的特征点集;(h)得到定位特征点;(i)最终定位效果图)。
[0117] 标号说明:1.上边缘点集,2.纵向扫描直线,3.下边缘点集,4.由下至上扫描方向,5.奇异点,6.由上至下扫描方向;
[0118] 7.定位特征点;8.第5点集拟合直线;9.第2点集拟合直线;10.第3点集拟合直线;11.第1点集拟合直线;12.第4点集拟合直线;
[0119] 13.上肩部边缘点;14.肩部圆扫描轨迹;15.下肩部边缘点;16.底部圆扫描轨迹,17.底部边缘点集。

具体实施方式

[0120] 以下将结合附图和具体实施例对本发明做进一步详细说明:
[0121] 实施例1:
[0122] 如图1和图2所示,本发明的异型瓶瓶身视觉定位方法,其具体流程为:
[0123] 1、图像预处理。
[0124] 由于瓶体图像在通过传感、采集、传输、处理等过程中,不可避免的存在着各种外部和内部的干扰,因此,在定位之前必须对图像进行特定的预处理操作。考虑到在滤波的同时不至于损失过多的边缘细节,本发明首先对原始图像进行一次3×3的中值滤波操作。然后使用Sobel边缘检测算子对滤波后的图像进行边缘检测,并给定阈值8将边缘图像二值化;接下来,使用4×4的矩形膨胀算子对初始边缘图像进行一次膨胀操作;紧接着使用
3×3的矩形腐蚀算子对膨胀后的边缘图像进行一次腐蚀操作。
[0125] 2、提取6组瓶体外边缘点集。
[0126] (1)纵向直线轨迹线扫描提取瓶体直线外边缘粗糙点集。
[0127] 如图3所示,在边缘图像中均匀纵向取直线2h+1条,从直线的两端向中间扫描,记录第一个非零点的图像坐标,得到瓶体轮廓,上边缘线上点集Blu和下边缘线上点集Bld:记为:
[0128]
[0129]
[0130] 式中WI是图像的宽度(单位:像素)。
[0131] (2)用最小偏差绝对值和的方法在上下边缘点集中去除粗大误差点。
[0132] 由于在经过图像预处理得到的二值化后的边缘图像上可能存在由于光照不均匀等原因造成的边缘线断裂的情况,这使得边缘粗糙点集中可能存在着非瓶体边缘轮廓线上的点,它属于边缘粗糙点集中的粗大误差点,必须在直线拟合前进行可靠剔除,否则可能造成拟合边缘直线的失真。本方法是基于直线拟合的,以粗集点到直线距离之和的极小值问题作为优化目标,得到最佳的拟合直线,并在此直线基础上剔除到直线距离过大的粗大误差点。本方法既克服了单纯的直线拟合带来的线检测误差,同时对瓶体边缘轮廓的断裂有一定的图像相容性。具体的实施步骤如下:
[0133] 在上边缘点集Blu中,每相邻两点确定一条直线,则总共可以确定2h条直线,记为线集Llu:
[0134]
[0135] 同理,在下边缘点集Bld中,同样的方式也可以确定2h条直线,记为线集Lld:
[0136]
[0137] 对于特征线集Llu中的每个元素,求取特征点集Blu中的每个点到它的距离之和,记为:
[0138]
[0139] 其中,
[0140]
[0141] 在所有 中取最小值:
[0142]
[0143] 其对应的特征直线记为 将满足
[0144]
[0145] 的点 从点集Blu中删除,形成新的点集 其中ε等于5。
[0146] 同理,在下边缘点集Bld中相邻点确定的线集Lld中,求取Bld中每个点到线集Lld中每个元素的距离之和,表示为:
[0147]
[0148] 其中,
[0149]
[0150] 在所有 中取最小值:
[0151]
[0152] 其对应的特征直线记为 将满足
[0153]
[0154] 的点从点集Bld中删除,形成新的点集
[0155] (3)圆轨迹扫描提取瓶身肩部和底部外边缘点集。
[0156] 在点集 和 中,选取最靠近左上角、右上角、左下角、右下角的点Olu、Oru、Old、Ord作为圆轨迹扫描的4个基准圆心。以这四个基准圆心产生4组每组2g+1个半径不同的同心圆的圆轨迹扫描线。其圆轨迹扫描线的半径确定如下:
[0157] Ri=i·WH/3(2g+1),i∈[1,2g+1] (13)
[0158] 需要注意的是,在圆轨迹扫描过程中为了能够准确无误的抽取边缘点,需要设置合理的圆轨迹扫描角步长,如图4所示,不同半径的圆轨迹扫描时应该使用不同的角步长,关系如下:
[0159]
[0160] 其中,R是圆轨迹扫描半径。经过四组圆轨迹扫描,可以分别抽取到上肩部外边缘点集Bclu、下肩部外边缘点集Bcld、上底部外边缘点集Bcru和下底部外边缘点集Bcrd,描述如下:
[0161]
[0162]
[0163]
[0164]
[0165] 其中,WH是图像的高度(单位:像素)。
[0166] (4)用最小偏差绝对值和的方法在肩部、底部边缘点集中去除粗大误差点。
[0167] 同在点集Blu和Bld中去除粗大误差的方法一致,这里不再赘述。仅仅给出剔除粗大误差后的点集表示:上肩部外边缘点集 下肩部外边缘点集 上底部外边缘点集和下底部外边缘点集
[0168] 3、点集重置及最小二乘直线拟合。
[0169] 首先对六组边缘点集进行整合:将上肩部边缘点集 重新记为 将下肩部边缘点集 重新记为 将上底部边缘点集 和下底部边缘点集 求并,整合成新的底边缘点集 保持 和 (即去除粗点的上边缘线上点集 和去除粗点的下边缘线上点集)不变。于是,六组点集被重新整合为五组。
[0170] 然后,使用最小二乘法对五组点集分别进行拟合。最小二乘法进行直线拟合的拟合多项式为:y=a0+a1x,也可以写为:y=b+kx,其中k为直线斜率,b为y轴截距。使用点集中的点建立直线拟合的最小二乘逼近正规方程组:
[0171]
[0172] 其中m是点集 中点的个数。由此解得直线的斜率klu和y轴截距blu,由klu和klu确定的点集 的拟合直线表示为
[0173] 同理,使用点集 分别建立各自的最小二乘正规方程组,解得拟合直线 至此,由特征边缘点集上升到
了边缘特征线集:
[0174]
[0175] 4、根据线集元素之间的相交性关系求出异型瓶瓶身的定位特征角点,并根据特征角点给出进一步的瓶身特征信息。
[0176] 由直线 和 的斜截式直线方程联立,可解得交点Ju,即上肩部点;由直线 和的斜截式直线方程联立,可解得交点Du,即上底顶点;由直线 和 的斜截式直线方程联立,可解得交点Jd,即下肩部点;由直线 和 的斜截式直线方程联立,可解得交点Dd,即下底顶点。Ju、Jd、Du、Dd即异型瓶瓶身定位的特征角点。
[0177] 以下给出根据特征角点计算的其他瓶身特征信息的计算式:
[0178] 瓶身偏转角:
[0179]
[0180] 瓶高:
[0181]
[0182] 瓶宽:
[0183]
[0184] 几何中心:
[0185] P=(Px,Py) (24)
[0186] 其中,
[0187]
[0188] 至此,用瓶身的定位特征点、偏转和高宽信息,可以在实时采集的瓶体图像中动态的更新液体检测区域。同时,以几何中心作为坐标原点,以过原点的和图像水平方向有着偏转角大小的直线及与其垂直的直线作为横纵坐标轴,建立图像中的瓶身坐标系,在瓶身坐标系中相对静止的目标就是瓶壁上的沾污或纹理,而相对瓶身坐标系发生相对运动的,就可以确定其为液体中的异动目标,这些信息在异型瓶装溶液中可见异物的视觉检测中有着极其重要的意义。
[0189] 整个定位算法的处理效果实例如图7所示,同传统的基于模板匹配的定位方法相比,本发明所公开的基于机器视觉的生产线上瓶体的定位方法有着定位精度高、定位速度快的特点。首先,预先设定的轨迹扫描边缘点提取方法可以有效的降低算法的时间复杂度,使定位过程具有更好的实时性。同时,扫描线密度的提高可以使得定位精度进一步得到提高。其次,由于特征提取过程是基于图像上单像素级的边缘点抽取的,所以算法的定位精度是单像素级,这使得算法的定位精度可以随图像分辨率的增加而进一步提高。