本发明涉及一种桶底异物检测的方法。
背景技术:
原油的油桶,在灌装前需要确认桶中是否存在异物,为了排除这种问题,目前是采用人眼观测,但由于人工检测存在疲劳和主观性因素干扰等问题会出现遗漏。
技术实现要素:
针对上述问题,本发明的目的是提供一种生产线上油桶桶底异物检测的方法。为实现上述目的,本发明采取以下技术方案:
一种生产线上油桶桶底异物检测的方法,包括下列步骤:
(1)采集一幅正常的桶底图像,以此桶底为模板图像;
(2)通过霍夫变换检测圆来确定桶底的位置;
(3)采集待检测的筒底图像,通过霍夫变换检测圆区域来确定其桶底的位置;
(4)通过将新获得的桶底图像的圆区域与模板桶底图像圆区域做差分处理;
(5)对差分处理后的图像做blob分析,方法如下:
①对差分处理后的图像进行二值化处理;
②对二值图片,提取连通域并计算每一个连通域的中心;
③根据②得到的中心,接近的点被归为一个组,对应一个斑点特征;
④从③得到的斑点,估计最后的blob特征,计算出潜在异物的大小记为t;
⑤对blob计算出异物的大小进行过滤,设定阈值m,t小于阈值m则桶底无异物,t大于阈值m则桶底存在异物。
(6)对blob计算出异物的大小进行过滤,设定阈值m,小于阈值m则桶底无异物,大于阈值m则桶底存在异物。
本发明由于采取以上技术方案,其具有以下优点:
(1)本发明检测异物的速度不超过30ms。
(2)本发明能有效过滤由于表面不平整引起的干扰因素等,准确确定异物。
附图说明
图1是油桶的原图
图2是有异物的油桶图;
图3是图1霍夫变换找到圆的效果图;
图4是图2霍夫变换找到圆的效果图;
图5是得到的图4得到的圆区域图与图1得到的圆区域的差分图;
图6是查找到异物的效果图;
具体实施方式
下面结合附图和实施对本发明的进行详细的描述。
(1)采集一幅桶底正常的图像
原图如图1,桶底无异物,桶底光照均匀。
(2)通过霍夫变换检测圆来确定图1桶底的位置,效果图如图3,方法如下:
圆形的一般性方程表示为(x-a)2+(y-b)2=r2。那么就有三个自由度圆心坐标a,b,和半径r,有一个先验知识,桶底的大小变化很小,r的大小在一定范围,在二维空间内寻找a和b就可以了,能够减少计算量。具体步骤如下:
①.对输入图像进行边缘检测,获取边界点。
②.将圆形的一般性方程换一种方式表示,进行坐标变换。由x-y坐标系转换到a-b坐标系。写成如下形式(a-x)2+(b-y)2=r2。那么x-y坐标系中圆形边界上的一点对应到a-b坐标系中即为一个圆。
③.那x-y坐标系中一个圆形边界上有很多个点,对应到a-b坐标系中就会有很多个圆。由于原图像中这些点都在同一个圆形上,那么转换后a,b必定也满足a-b坐标系下的所有圆形的方程式。直观表现为这许多点对应的圆都会相交于一个点,那么这个交点就可能是圆心(a,b)。
⑤.统计局部交点处圆的个数,取每一个局部最大值,就可以获得原图像中对应的圆形的圆心坐标(a,b)。一旦在某一个r下面检测到圆,那么r的值也就随之确定,这样桶底就被检测出来。
(3)通过将新获得的桶底图像(图4)与模板桶底图像(图3)做差分处理,突出显示出异物(图5)
将两个桶底的圆形区域对应像素相减,削弱相似部分,凸显出图像的变化部分。
(4)在对差分处理后的图像(图5)做blob分析,blob结果图如图6,计算出异物的大小;
①在[minthreshold,maxthreshold)区间,以threshold为间隔,做二值化。
②对每张二值图片,使用findregions()提取连通域并计算每一个连通域的中心。
③根据②得到的中心,全部放在一起。一些很接近的点被归为一个组,对应一个斑点特征..
④从③得到的那些点,估计最后的blob特征,计算出异物的大小记为t。
(5)对blob计算出异物的大小进行过滤,设定阈值m,t小于阈值m则桶底无异物,t大于阈值m则桶底存在异物。