一种定位瓶坯瓶身的方法
【专利说明】
所属技术领域
[0001]本发明属于数字图像处理,涉及一种定位瓶坯瓶身中心的方法。
【背景技术】
[0002]在输送过程中,由于周围生产环境的影响,瓶坯内会出现纸肩、毛发、铁丝等异物。在视觉系统对瓶坯瓶身中的异物进行检测的过程中,视觉系统每次采集到的瓶坯瓶身图像在整个图像中的位置可能存在差异,为避免由于瓶坯瓶身位置变化对检测结果造成的影响,本发明提出了一种定位瓶坯瓶身中心的方法。
【发明内容】
[0003]本发明的目的是提供一种能够快速准确地定位瓶坯瓶身的方法。本发明的技术方案如下:
[0004]一种定位瓶坯瓶身的方法,包括下列步骤:
[0005]I)开发一个找线工具,该工具是一个屏幕工具,包括一条直线和在该直线上等分布并与其相垂直的若干矩形;在直线的某个端点设有箭头,代表直线的终点,另一个端点作为直线的起点;在某个矩形的一条与直线垂直的一条边的端点设有箭头,代表矩形的终点,另一个端点作为矩形的起点;直线方向和矩阵方向可以通过改变相应的箭头方向来设定,该找线工具的直线的长度、矩形的个数及可以任意改变,矩形的个数的越多,检测精度越高;直线的长度用于模拟瓶身的长度;
[0006]2)在进行自动检测之前,先采集一幅原图,并保证瓶坯在图像中尽量接近水平放置;
[0007]3)通过找线工具,对原图中的瓶身两侧边缘进行定位,方法如下:
[0008]a)利用鼠标拖动找线工具,使其移动到图像中的瓶坯瓶身上侧的位置,改变直线的大小使其略大于图像中瓶身的长度,并确定合适的矩形个数,完成瓶坯瓶身上侧的定位及瓶身长度估计;
[0009]b)按照与上述方法,完成瓶坯瓶身下侧的定位及瓶身长度估计;
[0010]4)在生产线上进行自动检测时候,在与第(2)步采集原图相同的工位、拍摄条件下,采集包含瓶坯瓶身的图像,对每一幅需要检测的图像,采用下述方式分别求取瓶身的上侧边缘和下侧边缘的直线方程:
[0011]从直线起点开始依次搜索直线上每个矩形中心线上的点,矩形中心线搜索的起始点和终止点分别为平行于直线的那两条条矩形边长的中点,代表矩形方向的箭头方向决定这两条边中哪一条边上的中点为起始点和终止点;如果当前像素点的灰度值与下一个像素点的灰度值之间差值的绝对值大于预设阈值时,认为该点为瓶身边缘上的轮廓点。直线上等分布的矩形个数决定瓶身边缘上将会搜索到的轮廓点个数;通过搜索得到的边缘轮廓点,利用最小二乘法拟合直线,得到瓶身的上侧边缘及下侧边缘的直线方程。
[0012]本发明利用一个屏幕工具,可以快速地确定瓶身边缘的直线方程,实现瓶坯瓶身的定位。
【附图说明】
[0013]图1找线工具;
[0014]图2原图;
[0015]图3找线工具定位瓶身上侧边缘;
[0016]图4找线工具定位瓶身下侧边缘。
[0017]图5瓶身上侧边缘标记线;
[0018]图6瓶身下侧边缘标记线。
[0019]图7 (a)是将鼠标移动到找线工具的直线附近时光标变成的形状;
[0020]图7(b)是鼠标移动到直线起点、直线终点和代表矩形方向的箭头附近时变成的形状。
【具体实施方式】
[0021 ] 下面对本发明提出的定位瓶坯瓶身的方法进行说明:
[0022](I)开发一个找线工具。
[0023]如图1所示,该工具是一个屏幕工具,由一条直线、在直线上等分布的若干矩形、代表矩形方向的箭头和代表直线方向的箭头组成。该工具的位置、大小和方向可以任意改变。
[0024]直线上箭头所在位置为直线的终点,相反,另一端为直线的起点;矩形上箭头所在位置为矩形的终点,相反,另一端为矩形的起点;
[0025]鼠标在直线附近移动时,光标会变成如图7(a)所示的形状,此时,用户可以按下鼠标左键拖拽来改变直线的位置,这时,直线、在直线上的等分布的矩形和箭头的位置也同时改变;
[0026]鼠标在直线起点附近移动时,光标会变成如图7(b)所示的形状,此时,用户可以按下鼠标左键拖拽来改变直线起点的位置,这时,直线的长度发生改变,在直线上的等分布的矩形和代表矩形方向的箭头的位置也同时改变;
[0027]鼠标在直线终点附近移动时,光标会变成如图7(b)所示的形状,此时,用户可以按下鼠标左键拖拽来改变直线终点的位置,这时,直线的长度发生改变,在直线上的等分布的矩形和代表矩形方向的箭头的位置也同时改变;
[0028]鼠标在代表矩形方向的箭头附近移动时,光标会变成如图7(b)所示的形状,此时,用户可以按下鼠标左键拖拽来改变直线上等分布的矩形的大小,这时,矩形的长度和宽度发生改变;
[0029]在直线上等分布的矩形个数也可以改变,个数范围在2-360之间。代表矩形方向的箭头始终位于直线上位于中间位置的矩形上;
[0030]代表矩形方向的箭头的方向也可以通过选择来决定从直线的哪一侧指向哪一侧。
[0031](2)在进行自动检测之前,先采集一幅原图,并保证瓶坯在图像中尽量接近水平放置,通过找线工具,对原图中的瓶身两侧边缘进行定位,方法如下:
[0032]首先设置用来获得瓶身上侧边缘的找线工具的位置。改变找线工具的位置和大小。将鼠标移动到直线起点附近,此时,光标会变成如图7(b)所示的形状,按下鼠标左键拖拽来改变直线起点的位置,拖拽到如图3中所示起点的位置;将鼠标移动到直线终点附近,此时,光标会变成如图7(b)的形状,按下鼠标左键拖拽来改变直线终点的位置,拖拽到如图3中所示终点的位置;工具的最终位置如图3所示,找线工具中的直线尽量与将要搜索的边缘重合;将代表矩形方向的箭头方向设置成从直