发明内容
本发明的目的是提供一种基于形态学的字符缺陷检测方法,可有效解决由印刷误差及复杂字符带来的字符检测误判问题,降低人工复检率,提高企业生产检测的效率。
为实现上述目的,本发明所采用的技术方案是:一种基于形态学的字符缺陷检测方法,其步骤包括:
1)对数字化光源进行安装和位置校准,对工业相机进行安装、位置校准和像素当量标定;
2)采集清晰的良品图片作为模板图像,对模板图像划分字符区域并自动对区域内字符进行分割,通过调整光源参数及图像处理算法确定字符区域参数,建立模板;
3)通过加载模板对工业相机采集产线传送带上产品的实时测试图像进行处理;
31)提取模板中各字符区域的参数及模板字符骨架图像、模板字符膨胀图像;
32)通过特征定位判断测试图像的测试区域完整性;
33)对完整的测试图像中的各字符区域进行定位提取,并按照模板设定的区域参数提取测试图像各字符区域的测试字符骨架图像与测试字符膨胀图像;
34)将提取的测试字符骨架图像与模板字符膨胀图像、测试字符膨胀图像和模板字符骨架图像做双向形态学运算以判断测试图像中字符的连续性及完整性;
4)根据运算结果,显色标注测试图像中字符缺陷区域。
优选的是,所述双向形态学运算的步骤为:
(a)采用模板字符骨架作为结构元,去腐蚀测试字符膨胀图像,若测试图像字符不存在残缺,则腐蚀结果不为空;
(b)采用测试字符骨架图像去腐蚀模板字符膨胀图像,若产品无明显重影、脏污现象,即无多墨现象,则腐蚀结果不为空。
优选的是,检测的字符为印刷字符和/或镭雕字符。
优选的是,检测的字符区域包含印刷和/或镭雕的英文字符、数字字符、中文字符的至少一种。
优选的是,模板字符或测试字符膨胀的大小与印刷或镭雕误差有关,一般在8个像素以内。
优选的是,通过标准标定板完成工业相机像素与产品尺寸间的像素当量标定,其中产品尺寸为μ米级。
一种用于基于形态学的字符缺陷检测方法的装置,其包括:
一产线传送带,用于传送产品,其上表面设有产品测试区;
一PC机,用于图像处理及判断;
一工业相机,安装在产线传送带上方的支架上,其通过通信接口与PC机连接;
一数字化光源,安装在产线传送带上方,且在工业相机正下方,其包括光源控制器,所述光源控制器通过通信接口与PC机连接。
产线传送带速度控制在使产品流过测试区的时间大于1秒。
优选的是,所述工业相机的高度可调。
优选的是,数字化光源包括4条数字化条形光源,所述4条数字化条形光源依次首尾相拼,构成一个“口”字型,所述工业相机在垂直方向上位于“口”字型中间。
本发明采用上述结构后,
1)检测方式是非接触式检测,降低了机械基准精度要求;
2)仅使用工业相机即可完成图像采集,使用软件完成产品测试区域完整性判断,减少了硬件复杂性,降低了设备成本;
3)以形态学运算为核心,完成模板与产品的双向对比,检测准确率高,降低了人工复判的成本;
4)针对当前字符检测方法存在的缺点,本发明对于印刷或镭雕字符,特别是微小字符及中文字符,提供了有效的检测支持。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细说明:
如图2所示,一种用于基于形态学的字符缺陷检测方法的装置,其包括:
一产线传送带1,用于传送产品5,其上表面设有产品5测试区;
一PC机2,其内预置软件系统,软件系统包括模板管理模块、图像预处理模块、形态学运算模块、结果处理模块,用于图像处理及判断;
一工业相机3,安装在产线传送带1上方的支架上,其通过通信接口与PC机2连接,该工业相机3的高度可调;
一数字化光源4,安装在产线传送带1上方,且在工业相机3正下方,其包括光源控制器,所述光源控制器通过通信接口与PC机2连接,其参数由软件系统设置模板时确定。
通过PC机2调整光源参数及工业相机3高度、倍率等使得工业相机3适应产品5上字符的大小,可以采集到清晰的产品5图像。
产线传送带1速度控制在使产品5流过测试区的时间大于1秒,确保产品5流经测试区时能被工业相机3清晰地拍摄到完整图像。
数字化光源4包括4条数字化条形光源,所述4条数字化条形光源依次首尾相拼,构成一个“口”字型,所述工业相机3在垂直方向上位于“口”字型中间,在工业相机3四周设置光源,有助于均衡光线,确保拍摄图像光感最佳。
如图1所示,一种基于形态学的字符缺陷检测方法,其步骤包括:
1)对数字化光源4进行安装和位置校准,对工业相机3进行安装、位置校准和像素当量标定;其中工业相机3采集标定板图像,并通过通信接口传输到PC机2,由PC机2计算工业相机3的像素当量。由于检测的字符为印刷字符和/或镭雕字符,确切地说,检测的字符区域为印刷和/或镭雕的英文字符、数字字符、中文字符的至少一种,故在检测前,需通过标准标定板完成工业相机3像素与产品5尺寸间的像素当量标定,其中产品5尺寸为μ米级。
如图3所示,本发明中采用标准1倍倍率高精度标定板,板上的圆的直径为200μ米,相邻圆心距为300μ米。通过在图像中寻找圆,得到多个圆的圆心位置,得到多个相邻圆心距;同时去掉圆心距中与平均圆心距误差最大的值,最后得到平均像素当量。
根据词汇解释,通过相机拍摄带有固定间距图案阵列平板、经过标定算法的计算,可以得出相机的几何模型,从而得到高精度的测量和重建结果,因而带有固定间距图案阵列的平板就是标定板。
2)装置运行时,工业相机3采集清晰的良品图片作为模板图像,先手动划分模板图像上各字符区域,后软件系统自动完成各字符区域内的字符分割,通过调整光源参数及图像处理算法确定字符区域参数,字符区域参数在建立模板时确定,主要包含用于分割提取的方法参数、灰度阈值参数、相对阈值参数以及用于区域定位的灰度特征参数、相对位置参数。结合区域参数,建立区域模板,并保存在模板管理模块中。其中,
a.分割提取的方法参数主要指针对不同特征的待检测产品采用不同的分割方法,如针对与背景对比明显的字符区域可采用自动阈值法进行分割提取,而对于与背景对比不明显的字符区域,则需先进行增强,再进行分割提取;自动阈值法:指自动计算出用于二值化的阈值T,并根据T将灰度图像转换为黑白图像。行业内通用的计算T的方法是:计算灰度图像的直方图参数,得到2个峰值:背景色峰值A及前景色峰值B;T一般为(A+B)/2;
相对阈值参数:主要用于图像增强。因为对于某些灰度图像而言,前景和背景的对比不够明显,在通过直方图计算阈值时,不能得到2个明显的峰值,也就无法得到有效的二值化阈值T,因此需要先进行增强,拉伸前后景的对比度,再进行二值化阈值计算。现有多种通用的增强方法,如直方图增强,对数拉伸,区间映射等;
分割提取:指从图像中逐个提取出需要的字符。当前大部分系统采用的分割字符方法仍然是依靠工程人员在建立模板时手动逐字符框选,影响客户体验。我公司采用了自己开发的智能字符分割提取算法,原理如下:
首先通过前述的定位方法及阈值选取,得到字符区域的二值化图像如图5中的(a)和(b),其次,计算二值化图像中的连通区域,并求出每个连通分量的最小外接矩形,以“光”字为例,如图5中的(c)和(d):包含3个连通分量,其最小外接矩形分别用不同颜色标出;考虑到大部分汉字的笔画结构特点,我们以水平顺序对各个连通分量的最小外接矩形进行合并,即如果一个外接矩形与另外一个外接矩形在水平方向有位置重叠,则将2个外接矩形合并为一个,合并后,根据字符“光”处的3个最小外接矩形可合并为一个,并以此为根据从图像中提取字符“光”。其它字符按同样的方法进行处理;第三,对于个别字符,如“川”字,应用本发明的方法,将提取出3个部分,而不是一个完整的“川”字。因为本发明的系统主要是进行字符完整性检测,即一个字符是否缺笔少画,是否有飞墨出现等,而不是要辨认出这是个什么字。因此,类似“川”这样的字符,即使提取成多个独立部分,并不影响对每一部分笔画完整性检查,如果每一部分笔画是完整的,那么这个字就是完整的。
b.灰度阈值是在建立模板过程中调试得到的可以通过自动阈值法进行有效字符提取的参数值。
灰度特征定位:主要通过计算模板区域的灰度参数与图像中某个区域的灰度参数之间的相关性来完成的。例如:设模板区域SM的大小为k*p,模板中共有k*p个像素点,模板中所有像素的平均灰度值与方差分别为:M、S2。在测试图像中,逐点移动一个k*p的区域,或者说,分别以测试图像IM中每个点为左上点,选取一个k*p的区域,作为测试区域SC,计算SC中所有像素的平均灰度值与方差:N、Y2,同时,设t为模板区域中某个像素点,位置为(r,c),其灰度值为V(r,c),r<=k,c<=p;设测试区域的左上点位置为(u,v),则在测试区域中与t对应的点w的位置为(u+r,v+c);w的灰度值为F(u+r,v+c),则区域相关性系数计算如下:
上式是进行了归一化处理的参数计算,可以有效避免光照不同对计算结果的影响。0<=result<=1;result越大,则相似度越大,或者说相关性越强。同时,为加快计算速度,采取了一些小的技巧,如建立图像金字塔,在小的图像上进行全图逐点取区域对比,基本确定区域位置;在大的图像上,根据基本区域的区域位置,稍微扩大一些范围,进行精确定位。
c.相对阈值参数则是在建立模板过程中调试得到的可以有效进行字符与背景分割的图像增强参数值。
相对阈值:先计算原始灰度图像S的3*3均值图像M,设原始图像S中某像素的灰度值为v,均值图像M中对于像素的灰度值为h,则增强图像中对应像素的灰度值p,p=(v-h)*g+f;g和f为相对阈值参数,这2个参数值的大小由工程人员在配置模板时手动调整得出,其大小为产品允许的字符位置的最大偏移量,一般生产商对印刷位置偏移有一个最大偏印限制,这个限制就是最大偏移量。此方法的优点在于可以将干扰限制在一个局部区域内,降低干扰对整体图像增强的不良影响。
d.区域定位则是以模板中测试区域与基准点的相对位置为标准,在模板测试区域大小的基础上,横向纵向分别增加允许的最大偏移量,构成新的待检测区域,在新的待检测区域中计算与模板区域的灰度特征相关性,相关性最高的区域位置则为检测区域位置,从而实现区域定位。
3)装置在线检测时,工业相机3采集产线传送带1上产品5的实时测试图像,并通过加载模板对该测试图像进行处理;
31)先从模板管理模块中加载已建好的模板,即提取模板中各字符区域的参数及模板字符骨架图像、模板字符膨胀图像;
32)由软件系统通过特征定位对测试图像进行测试区域完整性判断,并将完整区域传输到图像预处理模块,本发明中采用各区域的灰度特征参数作为定位标准,通过计算待测试区域与模板区域的灰度特征相关性进行定位,即灰度特征相关性最高的区域为目标检测区域。同时,为提高定位速度,利用相对位置参数按照区域间相对距离分割出一块较小的区域,在其中完成灰度特征定位;
33)图像预处理模块对完整的测试图像中的各字符区域进行定位提取,并按照模板设定的方法参数、灰度阈值参数及相对阈值参数进行预处理,将测试字符区域的灰度图像转换为黑白的二值化图像,实现对测试字符区域的效二值化,进一步通过细化及膨胀算法提取各测试字符区域的测试字符骨架图像与测试字符膨胀图像;
34)将提取的测试字符骨架图像与模板字符膨胀图像、测试字符膨胀图像和模板字符骨架图像在形态学运算模块中做双向形态学运算以判断测试图像中字符的连续性及完整性;
4)结果处理模块根据运算结果,显色标注测试图像中字符缺陷区域,并输出最终结果。
所述双向形态学运算的步骤为:
(a)采用模板字符骨架作为结构元,去腐蚀测试字符膨胀图像(模板字符或测试字符膨胀的大小与印刷或镭雕误差有关,一般在8个像素以内),若测试图像字符不存在残缺,则腐蚀结果不为空;
(b)采用测试字符骨架图像去腐蚀模板字符膨胀图像,若产品5无明显重影、脏污现象,即无多墨现象,则腐蚀结果不为空。
如图4所示,图中M1,M2,M3分别为原始模板字符、模板字符骨架、模板字符膨胀图像;A1,A2,A3分别是残缺字符图像、残缺字符骨架及残缺字符膨胀图像;B1,B2,B3分别为多墨字符图像,多墨字符骨架及多墨字符膨胀图像。所有字符膨胀图像是在原图像基础上,将字符笔画扩大5个像素。本发明中利用形态学运算进行字符缺陷双向检测的中间结果如下:(Θ为腐蚀运算符)
运算 |
结果 |
运算 |
结果 |
结论 |
M3ΘA2 |
>0 |
A3ΘM2 |
空 |
残缺 |
M3ΘB2 |
空 |
B3ΘM2 |
>0 |
多墨 |
从上述技术方案可以看出,本发明的方法可有效检测字符缺陷。与当前用字符面积或字符边界长度对比,通过设定阈值来进行字符缺陷检测的方法相比,本发明的方法无需计算字符的有效面积与边界长度,可有效克服来自印刷或镭雕的机械误差以及难以用一个统一的阈值标准同时判断不同复杂程度字符的弊病,达到较好的字符缺陷检测效果。
以上所述是本发明的优选实施方式而已,当然不能以此来限定本发明之权利范围,应当指出,对于本技术领域的普通技术人员来说,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的保护范围。