常 江,于 谦,王晓倩
(哈尔滨商业大学 轻工学院,哈尔滨150028)
随着印刷行业的不断发展,印刷制品种类繁多,在生产日常中,书本、宣传报、包装袋等都属于印刷制品,大多数印刷品表面都印有各种各样的字符,利用字符识别印刷品已成为必要途径.字符可显示印刷品的生产保质期、质量、体积、型号等特点[1].因而保证印刷品的相关产品信息在出厂前被清晰、正确的标注是必要的.字符质量检测的任务之前都是由人工完成,但是由于人工的不确定因素,很多时候无法保证质量要求.随着科学的不断进步带动着生产的发展,机器视觉的出现大量减少了不确定因素出现的可能[2],提高效率的同时大大提高了质检质量,字符分割提取是下一步字符识别的前提条件,因此基于图像处理的印刷品字符分割提取尤为重要.随着对字符识别提取的深入研究,国内外已然出现了许多成果,但是仍然存在着许多可以改进优化的地方.
许多学者和企业开始高度重视利用新兴技术来解决现存的问题,利用机器视觉技术来解决印刷品字符识别的问题.张立凡[3]针对于企业的生产需求并联系实际情况,通过机器视觉技术完成了对印刷品图文信息的缺陷检测,但检测结果仍然精准度不高.张琪建[4]通过改进机器视觉系统中图像采集部分中硬件设备,以及联系实际情况调整Halcon中的参数完成了针对于美术类试卷信息的识别提取系统,但仍存在信息丢失和实效性不足等问题.甘玲、林小晶[5]提出了一种改进过的关联域提取字符分割算法,通过计算像素之间的连接比例,提取最终正确的连接标签,并且可以提取每个单独的联通域,达到了可以稳定识别的目的,但对环境、灯光等条件依赖性过高.本文在现有研究基础上结合图像分割方法,设计一种针对于塑料袋的字符分割提取方法,并通过实验验证该方法的有效性.
阈值分割法是一种基于区域的图像分割技术,其基本原理是:通过设定不同的特征阈值,把图像象素点分为若干类.常用的特征包括:直接来自原始图像的灰度或彩色特征;由原始灰度或彩色值变换得到的特征.
全局阈值法指利用全局信息对整幅图像求出最优分割阈值,可以是单阈值,也可以是多阈值.其中全局阈值法又可分为基于点的阈值法和基于区域的阈值法.阈值分割法的结果很大程度上依赖于阈值的选择,因此该方法的关键是如何选择合适的阈值[6].
基于点的全局阈值算法与其他几大类方法相比,算法时间复杂度较低,易于实现,适合应用于在线实时图像处理系统;对一幅图像而言,不同的区域,比如说目标区域或背景区域,同一区域内的象素,在位置和灰度级上同时具有较强的一致性和相关性[7].基本全局阈值分割步骤如下:
1)设定参数T0,并选择一个初始的估计阈值T1.
2)用阈值T1分割图像.将图像分成两部分:G1是由灰度值大于的像素组成,G2是由灰度值小于或等于T1的像素组成.
3)计算G1和G2中所有像素的平均灰度值μ1和μ2,以及新的阈值T2=(μ1+μ2)/2.
4)如果|T1-T2| 实验内容主要针对于塑料袋这一印刷品上的字符进行分割提取,将实验内容结合机器视觉软件中的OCR字符识别程序[9],进行优化改进.主要实验目的为提取图1(B)中透明塑料袋中的“乐购生鲜连锁超市”以及图1(A)不透明塑料袋中的“大润发全民环保关爱地球请珍惜地球上每一份资源”部分字符信息. 本文实验对象为购物所用塑料袋,选取透明塑料袋和不透明塑料袋作为对照实验对象. 实验设备的选取:为保证检测环境充足且稳定的光照条件选取在LED线性光源条件下采集图像[10];考虑到实际情况,选取智能手机的1 600万像素后置摄像头作为相机. 图1 实验对象 第一步选取不同透明度的塑料袋作为对照实验的对照实验对象,明确实验提取目标;第二步对所选实验对象分别进行图像采集,调整相机焦距,同时调整并选取合适的光源以便于采集到优秀质量的实验图像;第三步对所采集到的优秀图像进行图像预处理;第四步采用基于全局阈值的分割方法对目标图像进行分割,并且通过调整参数选取最优的设计;最后对图像分割后的区域进行汉字字符的提取.见图2. 图2 实验流程图 2.3.1 透明塑料袋 首先采用基于全局阈值分割方法第实验对象进行分割,后进行基于连通域分割方法得出分割结果进行对比后选较为提取效率高、较为简便的优化系统. 提取预处理后的图像中较亮部分的字符信息,使用全局阈值分割较亮的字符部分:threshold(ImageMedian,Region,128,255)其中128为最小灰度值,255为最大灰度值,使用threshold算子分割较亮部分.使用closing_circle(Region,RegionClosing,19.5)将区域闭运算[11],将字符连接在一起.最后经过fill_up(RegionClosing,RegionFillUp)算子来填充部分孔洞[12].通过以上步骤提取字符中较亮部分. 在预处理后得到的图片的基础上对所选目标区域进行阈值分割,据图3(A)中显示目标区域中二值化效果明显,处理效果较好,但由于汉字字体结构的原因有些字体并非一个完整区域,所以进行区域闭运算如图3(B)但是效果仍不明显,所以针对字体间的孔洞进行填充,结果如上图3(C)所示,有明显变化有些字体连成一个完整区域. 图3 提取较亮部分过程图 在上述操作后,提取灰度值较低的字符信息调整阈值范围,使用:Threshold(ImageMedian,Region1,40,255)分割较暗字符区域,然后使用:Difference(Region1,RegionFillUPp,RegionDifference)得到较暗部分字符[13],如图4所示:联合较暗与较亮区域,获得所有字符区域,利用union2( )算子完成.根据孔洞面积大小填充孔洞,利用算子:fill_up_shape( )完成填充,且填充效果如图5所示. 通过闭运算方法,讲左右结构、上下结构的汉字结合成一个联通域,通过closing_rectangle1( )完成闭运算,通过connection( )算子完成连通区域[14],最终通过intersection( )算子将两个区域求交集得到图6. 图4 较暗部分字符 图5 填充后图像 图6 分割字符过程 在填充后的图像基础上在进行区域闭运算,通过比较图6(A)与图5可以明显观测出字体边缘轮廓变清晰了,“生鲜连锁超市”几个小字已经基本形成一个完整的连通区域,但是“乐购”两个较大的字体在结构上仍留有空隙,不能作为一个连通区域进行后续检测.所以继续进行连通区域,效果如上图6(B)中所示,所有字体都分别形成了一个独立且完整的连通区域.在进行区域求交集获得单个字符如图6(C)中所示,所选定的目标区域中8个汉字分别对应8个独立且完整的字符区域. 最后效果如图7所示,清晰且完整地提取了透明塑料袋中所选目标区域中的汉字字符信息. 图7 透明塑料袋字符提取结果 2.3.2 不透明塑料袋 第一步:将使用中值滤波处理去噪后得图像进行所有汉字提取,首先设置汉字字符检测区域,所用代码为: gen_rectangle2 (DetectROIUp, 2186.56, 1781.68, rad(177.563), 957.765, 285.555).把上汉字检测区域从图像中提取,其代码为: reduce_domain (ImageMedian, DetectROIUp, ImageReduced).然后使用全局阈值分割域 threshold (ImageReduced, Region, 128, 255) ,提取所有亮区域[15]. 如图8(A)所示,经过图像预处理后所采集的不透明塑料袋图像中的噪声基本不会影响后续工作,且二值化后图像中待检测字符与背景区域对比明显,非常有利于后续工作的进行.将待检测区域设置好后如图8(B)所示,待检测的“大润发”三个字符被完全覆盖,由此说明字符待检测区域的选取和提取效果符合后续工作要求. 图8 提取所有亮区域过程 第二步:分割字符.利用区域闭运算把上下结构、左右结构的汉字合成一体,代码为: closing_rectangle1 (Region, RegionClosing, 10, 100) 然后利用算子connection (RegionClosing, ConnectedRegions)联通区域.最后将连通区域和提取的所有亮区域汉字求交集,获得单个汉字,其代码显示为: intersection (ConnectedRegions, Region, RegionIntersectionUp) 如图9(A)中所示,提取所有亮区域后选取了目标区域中“大润发”三个目标字符,进行了初步的区域闭运算,三个汉字字符基本形成一个连通区域,但仍有一些笔画因为字体结构未连成整体区域;图9(B)所示经过连通区域后对比可以明显观察到三个汉字分别形成了独立且完整的连通区域;如图9(C)所示交集后获得所选汉字字符区域完整且独立. 图9 分割字符过程 第三步:同第二步操作相同,对“全民环保 关爱地球 请珍惜地球每一份资源!”进行分割提取,将所有汉字字符提取后进行分割,得到最终汉字字符的提取结果. 最后识别效果如图10所示,针对于不透明塑料袋中较大的字符的提取分割效果较好,提取的字符信息清晰且完整;但由于检测方法的影响,在不透明塑料袋中较小字符的检测结果不尽人意. 图10 不透明塑料袋字符分割提取结果 使用基于全局阈值分割方法对于透明塑料袋与不透明塑料袋的字符进行分割提取后得到以下结论: 1)使用基于全局阈值分割的方法来进行塑料袋上字符信息的分割提取是可行的,整体来说基本上可以分割提取大部分的字符信息,且检测速度较为优秀,在程序的设计编写中只需要运行19步代码即可完成对字符的分割提取,效率较高. 2)对于透明塑料袋来说,通过观测分割提取结果,基于全局阈值分割的方法最终效果较为令人满意,在保证检测速度的前提下准确且完整的分割提取了透明塑料袋中的字符. 3)对于不透明塑料袋来说,通过观察分割提取结果,使用基于全局阈值分割的方法最终的效果不是特别理想,整体来说在不透明塑料袋中较大的字符分割提取使用基于阈值分割的方法还是可行的,但是在小字符的分割提取上很明显该方法不是一种合适的方法,还需要进行进一步的优化或改进.2 分割提取实验
2.1 实验所用设备
2.2 实验流程
2.3 基于全局阈值分割方法实验
3 结 论