一种自适应鲁棒的灰度图像中液位高精度检测方法与流程

文档序号:21324001发布日期:2020-06-30 20:57阅读:346来源:国知局
一种自适应鲁棒的灰度图像中液位高精度检测方法与流程

本发明涉及瓶装产品质量检测领域,尤其涉及鲁棒检测瓶装产品液面,进而检测瓶装产品是否合格。



背景技术:

瓶装产品液位检测问题就是检测含瓶装产品的图片中液位位置和瓶子底部位置的问题,如果企业因为检测技术不高或者检测不严,使这些对不合格的瓶装产品流向市场,将会降低企业的社会声誉,进而给企业造成很大的损失,所以液位检测对相关公司来说是个很重要的保证产品质量的检测方法,检测不合格产品,将大大提高检测效率。国家随对液位是否达标没有严格的要求,但是产品的合格液位更能体现一个企业的生产工艺,增强消费者的企业认同感。

当前生产企业对瓶装产品液位检测通常采用两种方法,一是人工检测,随着近几年来生产效率和生产量不断提高,人工检测越来越不能满足企业生产检测的要求:检测标准不统一,人工检测效率低,成本高,而且相关人员长时间检测后容易出现视觉疲劳,进而检测出错,无法统一纳入公司的质量监控管理体系,准确率下降。二是基于视觉检测,随着数字图像处理技术、计算机视觉、计算机技术的快速发展,基于图像处理的瓶装产品液位检测技术越来越多的应用到生产实际中,并带来了很大的经济效益。这种技术有很多优点,检测精度快、精度高,可将检测出的结果很快的纳入到质量管理体系,并且能应用到各种复杂的生产环境中。但目前鲁棒的液位检测算法比较少,从而使检测的结果不够好,应用的场所受生产环境影响,检测的效果难于令人满意。



技术实现要素:

针对现有技术中存在的不足,本发明一种自适应鲁棒的灰度图像中液位高精度检测方法。本发明主要考虑随着企业瓶装产品生产效率的提高和生产量的快速增加,如何更好地检测瓶装产品液位,提高企业产品的质量,同时降低企业检测的经济成本,为企业带来更多的收益是值得探讨的问题。

本发明针对瓶装产品的液面检测问题,首先灰度图像进行去噪、直方图均衡化处理、分段线性变换函数进行对比度拉伸,使用改进的边缘检测模板检测图像边缘,改进的边缘检测模板计算成本小,有利于使液面检测时间缩短,由于主要是需要检测出来的液面和瓶底,根据设计的自适应的算法检测液面的高度,能自动确定图像中半瓶的情况,对图像中多个瓶装产品的液位高度都能进行很好的检测和确定,将液位边缘的下层高度减去瓶底边缘的上层高度,就可以较精确的得到瓶中液体的高度,进而判断瓶装量是否达到要求。

一种自适应鲁棒的灰度图像中液位高精度检测方法,具体步骤如下:

步骤(1)、图像预处理

首先将图像转化成灰度图像,对图像进行高斯滤波处理,减少噪声,高斯模板采用三阶算子:然后采用直方图均衡化,使边缘更容易检测。

步骤(2)、采用分段线性变换函数对图像进行对比度拉伸。

统计大于阈值(50)的像素值,计算大于阈值的像素值的均值μ和方差σ2。基于均值μ和方差σ2构造分段线性变换函数,使分段线性变换函数更好地满足像素值分布。

分段线性变换函数如下:

步骤(3)、采用边缘检测算法对图像进行边缘检测

采用一种新的水平边缘检测算子进行边缘检测,模板算子为:为了滤除不明显的小边缘,对边缘检测后的图像进行阈值处理,使灰度值小于30的像素点全部变为零。

步骤(4)、采用矩形滑窗检测图像中的瓶子的边缘,包括半瓶的边缘,滑窗的宽度大于液面边缘和瓶底边缘宽度的最大值,滑窗的长度为瓶子直径的1/8,首先滑窗在起始点从上往下滑动,滑动步幅为1,统计滑窗内的灰度像素值大于80的像素点的数量,所述的起始点为图像的右上角:

当灰度像素值大于80的像素点的数量占整个滑窗的百分比大于40%,且连续几次滑动都满足上述百分比时,则此处为液面边缘,滑窗返回上边使百分比最大的位置,即液面边缘的最中心处,将滑窗向右滑行,滑动步幅为瓶子直径的1/16,当百分比小于80%时,则滑窗超出了液面边缘,将滑动步幅调整为1,确定瓶子右侧边缘,同时上下慢慢滑动,确定液面边缘的下侧,然后从液面右侧继续向下滑动,根据液面边缘的确定方法来确定瓶底边缘,然后同样确定瓶底边缘的上侧,液面边缘的下侧减去瓶底边缘的上侧计算出瓶中液体的液面高度。

步骤(5)、沿上个瓶子的右侧边缘对应的横坐标开始,继续从上到下检测下一个瓶子,每次检测的瓶子的过程和步骤(4)一样,直到检测到图像最右侧。

步骤(6)、输出检测到的每个瓶子的液面高度,根据企业的标准判断产品是否合格。

本发明方法具有的优点及有益结果为:

1、本发明对图像进行高斯滤波、直方图均衡化、分段线性转换函数进行对比度拉伸等处理,这也是为了保证边缘检测的边缘效果,尤其是基于像素灰度值的统计值而设计的分段线性转换函数,较好的提升边缘的对比度,采用的新的边缘检测算法保证了边缘的强度,效果更好,视觉体验更好,更能适应复杂的花境。

2、确定液面高度的时候采用了自适应的方法,而且精度较高,精确地确定了瓶子液体的高度,进而可以检验产品是否合格。相较于其他的基于灰度图像的液面检测方法,本发明方法更加鲁棒、精度高,应用的场所更多。

附图说明

图1为本发明的水瓶液位高度检测的实现流程图

具体实施方式

下面结合实施方式对本发明进行具体的说明。

本发明是检测瓶装产品液位高度进而检测产品是否合格的方法。

按照以下步骤实施

步骤(1)、图像预处理

一般图像都是rgb格式的,所以以rgb图像为例,首先将rgb图像转化成灰度图像,转换公式为:gray=r*0.299+g*0.587+

b*0.114,为了减少噪声,对图像进行高斯滤波处理,这里高斯模板采用三阶算子:

为了提高灰度图像的对比度,使液面和瓶底突出、明显,采用直方图均衡化,使边缘更容易检测,使检测算法的效果更好。直方图均衡化的过程:

(1)、对于对于有g个灰度级大小为m×n的图像,将一个长为g的数组h初始化为0

(2)形成图像直方图:扫描每个像素p,当它具有亮度gp时,做然后令gmin为时g的最小值(图像中出现的最小灰度级)

(3)形成累积的直方图hc:

hc[0]=h[0]

hc[g]=hc[g-1]+hc[g],g=1,2,…,g-1

(4)置

(5)重新扫描图像,写一个具有灰度级gq的输出图像,设置

步骤(2)、采用分段线性变换函数对图像进行对比度拉伸。

统计大于阈值(50)的像素值,计算大于阈值的像素值的均值μ和方差σ2。基于均值μ和方差σ2构造分段线性变换函数,使分段线性变换函数更好地满足像素值分布,是对比度拉伸的效果更好。分段线性变换函数如下:

步骤(3)、采用边缘检测算法对图像进行边缘检测

采用一种新的水平边缘检测算子进行边缘检测,这种算子更适合检测水平液面、瓶子底部这种水平的情况,效果较好,边缘更明显,模板算子为:为了滤除不明显的小边缘,对边缘检测后的图像进行阈值处理,使灰度值小于30的像素点全部变为零。

步骤(4)、采用矩形滑窗检测图像中的瓶子的边缘,包括半瓶的边缘,滑窗的宽度大于液面边缘和瓶底边缘宽度的最大值,滑窗的长度为瓶子直径的1/8,首先滑窗在起始点从上往下滑动,滑动步幅为1,统计滑窗内的灰度像素值大于80的像素点的数量,所述的起始点为图像的右上角:

当灰度像素值大于80的像素点的数量占整个滑窗的百分比大于40%,且连续几次滑动都满足上述百分比时,则此处为液面边缘,滑窗返回上边使百分比最大的位置,即液面边缘的最中心处,将滑窗向右滑行,滑动步幅为瓶子直径的1/16,当百分比小于80%时,则滑窗超出了液面边缘,将滑动步幅调整为1,确定瓶子右侧边缘,同时上下慢慢滑动,确定液面边缘的下侧,然后从液面右侧继续向下滑动,根据液面边缘的确定方法来确定瓶底边缘,然后同样确定瓶底边缘的上侧,液面边缘的下侧减去瓶底边缘的上侧计算出瓶中液体的液面高度。

步骤(5)、沿上个瓶子的右侧边缘对应的横坐标开始,继续从上到下检测下一个瓶子,每次检测的瓶子的过程和步骤(4)一样,直到检测到图像最右侧。

步骤(6)、输出检测到的每个瓶子的液面高度,根据企业的标准判断产品是否合格。

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