一种饮用矿泉水悬浮物检测方法与流程

文档序号:19784998发布日期:2020-01-24 13:27阅读:来源:国知局

技术特征:

1.一种饮用矿泉水悬浮物检测方法,其特征在于,具体步骤如下:

(1)图像采集:将待检测瓶装矿泉水送入自动检测装置,瓶装矿泉水沿斜坡滚动到底端后停在电机控制门处,滚动作用使瓶中的悬浮物颗粒处于运动状态,然后在led光源照射下,按时间间隔δt采集两帧瓶装矿泉水原始图像,并对两帧图像分别进行灰度化处理,通过消除图像色调和饱和度信息同时保留亮度实现将rgb彩色图转换为灰度图像;

(2)抖动消除:定义步骤(1)灰度化处理后的两帧图像中的一帧图像为被减图像,记为a图像,另一帧图像为背景图像,记为b图像,然后定义评价抖动错位程度的损失函数e(x,y),

(1)

其中,rowsize和colsize为图像的垂直高度和水平宽度,x、y表示因抖动引起的垂直和水平两个方向的图像偏差,a(i,j)表示a图像上的像素点坐标对应的灰度值,b(i-x,j-y)表示b图像上的像素点坐标去偏差后对应的灰度值,找到使e(x,y)为最小值的最优解x、y,并分别用rowmin和colmin表示;

(3)图像差分:用帧间差分的方法对两帧图像进行差分处理,将被减图像a、背景图像b按式(2)背景差分算法相减,相减之后被减图像a中理论上只剩悬浮物颗粒,得到含有悬浮物颗粒的灰度图像c;

(2)

式中:k=a(i,j)-b(i-rowmin,j-colmin),colminrowmin为步骤(2)求解的水平和垂直方向偏移量,if为条件表示,(i,j)表示c图像上的像素点;

然后,再通过阈值过滤对灰度图像c进行二值化处理得到二值化差分图像p:

(3)

式中:threshold为临界阈值,通过最大类间方差法确定其取值范围,以保证二值化后悬浮物颗粒图像的完整性;

(4)背景净化:对二值化差分图像p进行区域检测并剔除小面积区域块,首先,采用8连通区域对图像p进行扫描,每检测到一个区域就对其进行标记,然后,计算每一个标记区域的面积area,最后,将面积小于s的区域剔除,其中算法表示如下:

(4)

式中,d为背景净化处理后的输出图像;if条件表示:如果当前图像点p(i,j)属于某一区域r且区域r的面积小于阈值s,则剔除该区域,即将该区域每个像素点值置0;s为区域面积阈值,其设定值由实际矿泉水生产过程中需测量的悬浮物颗粒最小尺寸dmin来确定,s的计算公式如(5)所示:

(5)

式中,int表示取整运算,k0为每像素对应的实际尺寸,由于图像采集位置是固定的,k0由预先标定得到;

(5)边缘平滑:采用形态学运算对背景净化后的图像d进行处理,首先,在0~1的一个小数内用canny算子进行边缘检测,接着执行形态学闭运算,用同样的结构元素先对图像d进行膨胀操作后进行腐蚀操作,将图像d设为x,结构元素为se,用符号x•se表示闭运算,其定义为:

(6)

其中se为矩阵,再对处理后的图像执行边界对象抑制,去除与边界相连的亮点,此处涉及到重构变换,最后进行孔洞填充,完成以上步骤即可得到只包含悬浮物颗粒目标对象的二值图像,记为bw2;

(6)悬浮物颗粒数量统计:首先对二值图像bw2进行区域标记,以获取悬浮物颗粒数量,具体为调用matlab方法:[labeled,num]=bwlabel(bw2,n)来完成,此处n取8,表示是按8连通寻找区域,其返回一个和bw2大小相同的labeled矩阵,所标记的bw2中每个连通区域的类别标签存放在labeled矩阵中,返回值num就是bw2中连通区域的个数,也即悬浮物颗粒的总数;

(7)悬浮物颗粒尺寸检测:检测悬浮物颗粒的最大尺寸,即颗粒边缘上任意两点之间距离的最大值,初始化与bw2大小相同的二值图bw3,bw3用于暂时存放提取出的单个悬浮物颗粒轮廓,用长度为num的二维数组a存放每个颗粒的尺寸,遍历整幅bw2图像,求出num个悬浮物颗粒的尺寸,然后输出a数组中的值,即可得到悬浮物颗粒的最大尺寸。

2.根据权利要求1所述的饮用矿泉水悬浮物检测方法,其特征在于:所述步骤(1)中矿泉水瓶受重力作用沿斜坡方向滚动,滚动过程中瓶内悬浮物、矿泉水与瓶体同步旋转,到坡底后被挡板阻止滚动停止,因惯性作用,短时间内瓶内悬浮物会跟随矿泉水继续绕瓶纵向中心轴线做旋转运动,忽略滚动摩擦及塑料瓶体的转动惯量影响,根据运动学分析,此时悬浮物从前一个位置转过π/2角度所需时间t为:

(7)

其中,r为矿泉水瓶半径,l为滚动斜坡长度,θ为斜坡角度,g为重力加速度,ω为旋转角速度,则图像采集时间间隔δt应满足(9)式:

(8)

根据权利要求1所述的饮用矿泉水悬浮物检测方法,其特征在于:所述步骤(7)中求悬浮物颗粒尺寸的具体步骤如下:

(1)初始化数组a,令a=zeros(num,1),初始化数组bw3,遍历bw2整幅图像,首先处理第一个颗粒,只要满足标记矩阵labeled中标记号为1的像素点且对应bw2中相应点的像素值为1,那么把bw2中该点的像素值赋值给bw3中对应的点,程序表示如下:

iflabeled(i,j)==x&&bw2(i,j)==1

bw3(i,j)=bw2(i,j);

其中x=1,2,…,num,标记号为1(x=1)时,遍历完整幅图也就得到了第一个颗粒的图像即第一颗粒轮廓;

(2)旋转求解悬浮物颗粒尺寸:提取到颗粒轮廓后,以悬浮物颗粒图像的质心o为坐标原点绕z轴在xoy平面内旋转,每旋转一个α角度,求其在x轴和y轴两个方向上的最大距离,直至旋转90度,求出颗粒的最大尺寸和最小尺寸,存于数组a中,作为标记号为1的颗粒的尺寸;

(3)重复步骤(1)~(2)直到提取检测完第num个颗粒,悬浮物颗粒的尺寸检测结束,输出a数组中的值,即可得到悬浮物颗粒的最大尺寸和最小尺寸。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1