钢箱梁虚拟装配中一维码识别方法的研究*
2016-11-03董晓晓王玉增曹若兰王华峰
董晓晓,王玉增,曹若兰,王华峰,仲 强
(济南大学 机械工程学院,济南 250022)
钢箱梁虚拟装配中一维码识别方法的研究*
董晓晓,王玉增,曹若兰,王华峰,仲强
(济南大学 机械工程学院,济南250022)
针对钢箱梁虚拟装配中对多幅图像识别精度要求的不同,提出一种一维码识别方法。以code39为例,介绍一维码编码特征以及图像识别系统的基本组成。针对一维码在制作打印过程中可能存在的问题以及图像采集中可能出现的噪声问题,提出了一种基于提高图像质量和利用一维码结构特征的识别方法。实验证明通过该方法,提高了钢箱梁图像的识别与拼接效率,而且在环境复杂情况下适应性极高。
一维码识别;图像处理;图像识别系统
DONG Xiao-xiao,WANG Yu-zeng, CAO Ruo-lan, WANG Hua-feng,ZHONG Qiang
(School of Mechanical Engineering,University of Jinan,Jinan 250022,China)
0 引言
随着计算机技术的迅速普及,在信息时代的今天,一维码[1]作为一种简单、易行、高速的输入技术已被世界各国普遍采用,应用领域涉及广泛。
目前,对于一维码的识别大多数采用的是便携式光电识读设备。很多研究者基于设备的扫描原理对条码识读方法进行研究,大多数采用线扫描方式以及黑白线所转化的电信号原理,而这样一维码的宽窄程度、制作印刷技术和脏污情况对识别结果产生很大影响,如果不改善条码的质量与所用环境,一维码的识别精度将得不到很好的解决。因此为提高一维码在各种不同情况下的识别精度,必须要对原始的辨别方法进行创新。
基于上述问题,提出一种针对钢箱梁虚拟装配的一维码识别方法。该方法一方面根据实际采集图像特点,采用多项图像处理方法对失真图像加以处理,提高处理图像的质量,达到正常的视觉效果;另一方面根据一维码的固有形态和结构特征,即黑白线宽窄度的分布规律,来识别各种不同情况下的一维码信息。利用该方法可以大大提高图像识别效率,降低工人的劳动力,实现图像自动识别与分类,通过图像处理技术对识别质量差、噪声严重的一维码图像达到较好的效果。
1 一维码概述
一维码识别技术[2]是近现代于计算机应用实践中产生和发展而来的一种自动、简易识别技术,它是集条码理论、光电技术、计算机技术、条码印制技术于一体的综合性技术,而在多个领域广泛使用。由于钢箱梁所处的复杂环境以及自身特性的影响,很难用常规规律进行高精度的识别,因此本文选用code 39编码字体码制。图1所示为本文选用的code 39码。
图1 code39码格式
由示意图1可知,code 39码包含:起始空间、起始符、数据码、终止空间和终止符。code 39码中每一个字符单元,都是由9条不同排列的线条和空格组合而成。
表1所示为code 39码的四种不同类型。
表1code39码的组成类型
由表1可以看出code 39码中只可能存在两种宽度与颜色的线条或者空格,且宽窄度比例为整数。
2 图像预处理
对附有一维码的图像进行批量采集,然后输入计算机内进行自动识别编码内容。在现场情况下对所有钢箱梁图像依次采集,由于客观因素的存在比如:图像在采集与传输的过程中带入的噪声信号、高清相机的性能、外界自然环境以及操作者的拍摄水平等,影响图像的成像质量,降低一维码的自动快速识别速率。因此,对图像采用相应的算法进行预处理,还原其真实的图像信息,提高条码识别精度。
图像预处理技术[3-5]包括:灰度处理、灰度直方图、傅立叶变换等。
2.1灰度处理和灰度直方图
灰度图[6]是由RGB彩色图像处理得来,只含有亮度信息,而不含有色彩信息的图像。为了解图像中一维码信息是如何分布的,又有何规律,因此在图像预处理中,获取一维码的灰度直方图,通过直方图展现的灰度级内容的情况来判别图像的变化。灰度直方图描述了图像中每一个灰度级的像素个数,其中横坐标是灰度级数(0~255),纵坐标表示在该灰度级处出现的像素的个数。
图2所示为“*111*”序列的一维码图像及其直方图。
图2 一维条码图像及其直方图
图2是标准的一维码以及直方图结果,直方图中只显示了两极的灰度变化,在两端产生尖峰,可见一维码中各个字符只利用了0和255这两个灰度级别。通过直方图的变化情况可以判断出一幅图像对每一阶灰度级的利用情况。对于实际情况中采集到的图像分析其直方图,可根据其分布情况亮度值,将其不符合的灰度级就近地置为0或255,大量缩短一维码的识别时间,提高判别速率。
2.2傅立叶变换
傅立叶变换[7-8]的正弦叠加性与图像的色彩变化在实际应用中起着关键的作用,这使得其在图像的处理当中有着非常明显的物理意义。换句话说,傅立叶逆变换的正弦叠加特性可将不同变化频率的正弦量进行变换叠加处理,对于图像当中不同色彩频率的分量值,在正弦化处理过后,通过傅立叶的变化处理可以使图像的数字描述更加真实,使得处理的图像逼真,各频率的颜色值损失做到最少。
对图像进行分割识别一维码时,在其边缘部分以及识别一维码边缘时会产生大量的高频分量,为将高频分量剔除,保留低频分量,得到最真实的图像,采用傅里叶变换进行处理。其中一维码的图像特征主要包括形状特征、色彩特征,其中每一种特征的表现频率也依据傅立叶系数进行提取和计算。
3 条码识别方法
一维码图像经过上述图像预处理后得到接近实际的清晰的复原的图像[9],它是进行条码识别的基础。由code 39码[10]特征可知,code 39码的每个字符都有9个单元,且每一个字符都有3个宽单元,6个窄单元,交替由黑白线条和空格组成(图3)。
1.当前字符宽度C2.下一字符3.宽单元C14.宽单元C25.宽单元C3
图3中,C1、C2、C3表示每个字符中三个宽单元,最后一个空格代表无意义的留白。假设C代表了单个字符宽度,A为单个字符中的宽单元,B为窄单元,则:
A=3B,C=3A+6B
即C=5A,每一个字符的宽度都可以用其5个宽单元的总宽度来表示,且一维码的条码信息只与线条的宽度有关,而与线条的高度无关。因此选取宽线条的3倍宽度来表示一维码的宽度,采用这样固定值的信息对条码进行识别,识别范围明确,效率及精度高。
选用尼康D800相机采集图像,采用统计方法进行一维码识别。其步骤为:
(1)识别条码前,确定条码的实际宽度、高度和各个字符实际代表的宽窄条幅排序和个数;
(2)利用编码图像边缘进行精确定位,条码的开始位置作为起始中心;
(3)以扫描到“*”号开始记录数据,如若不是“*”号,则向后移动一个单元继续扫描,直至遇到“*”号为止;
(4)根据原理设置好的限定值α进行识别检测,如果扫描到的数据大于α,则将此视为宽格;如果扫描到的数据小于α,则将此视为窄格,直到所有数据采集完成,以“*”号结束;
(5)高度方面选三条线扫描,获取各条线上每个单元的灰度值,并求均值,作为各单元最后的灰度值;
(6)依据限定值α对获取的数值进行分类计算,得到条码序列最终的宽格与窄格的排序;
(7)查表找到与之对应的信息,即可得出是何字符。
例如“*”号所对应的条幅排列顺序为:“窄宽窄窄宽窄宽窄窄”,逻辑序列值为“010010100”,即识别一维码之后得到的排序结果为“窄宽窄窄宽窄宽窄窄”或者“010010100”,则显示为“*”号。
以“*111*”为例,经上述处理后,实验验证得到一维码识别之后的各个数据,经统计之后如下图4、图5所示,图4中显示经图像预处理后,一维码灰度变化只有0和255这两个灰度级,线条之间的距离变化代表了条码线宽之间的变化规律;图5中是经过统计算法之后均衡的结果,效果更佳明显,长条代表了宽格,短条代表了窄格,摒弃了其他干扰杂质,识别精度较之前更加精确,使用范围更广。
图4 一维码灰度变化折线图
图5 一维码识别结果排序示意图
4 结论
通过对钢箱梁虚拟装配中一维码识别方法的研究,经过实验验证,可以得到以下结论:
(1)针对code39码图像的特点以及采集大图像所处环境的考量,确定了相应的图像预处理算法,灰度处理、灰度直方图、傅立叶变换等,降低了外界对于图像的影响,同时对于拍摄水平不高的技术人员所采集的模糊图像来说,改善了图像的质量,解决了再返工的问题,对提高一维码识别效率起到明显的作用。
(2)通过运用大律法统计方法识别一维码的方法,采用条码本身的线条宽窄分布规律,可以应用到各种形式的一维码以及各种复杂背景的场景中,提高了一维码识别精度,改善了以往因印刷质量以及脏污情况所带来的不便,使用更加广泛。
[1] 董华冰. 一维图像条形码识别方法研究[D].广州:华南理工大学,2012.
[2] Vishav Jyoti,R S Kaler. Design and performance analysis of various one dimensional codes using different data formats for OCDMA system[J]. Optik - International Journal for Light and Electron Optics,2010,12210:473-476.
[3] 胡静. 视频图像预处理技术研究与实现[D].南京:南京理工大学,2014.
[4] 余燕飞,郑烇,王嵩,等. 基于空间域的图像噪声检测技术[J]. 计算机应用,2012,32(6):1552-1556.
[5] Dongwook Cho,Tien D Bui. Fast image enhancement in compressed wavelet domain[J].Signal Processing,2014,98:32-35.
[6] 谷松,祝鸿洁,张静雅. 科技期刊中彩色插图转化灰度图的常见问题分析[J]. 科技与出版,2014(6):80-83.
[7] 李琼. 分数阶傅里叶变换在信号检测与图像处理中的应用研究[D].北京:北京交通大学,2014.
[8] 张勇. 傅里叶变换在数字图像处理中的应用[J]. 廊坊师范学院学报(自然科学版),2015,15(3):25-27.
[9] 尤海英. 条码识别中图像复原的研究[D].南京:南京航空航天大学,2010.
[10] 郭国弟,彭勃,周晶. 不依赖于条码字体的Code39码在C#中的实现[J]. 硅谷,2011(5):25,66.
(编辑李秀敏)
Study on Steel Box Girder in the Virtual Assembly of One-dimensional Code Recognition Method
The steel box girder in the virtual assembly of multiple image recognition accuracy, proposes a one-dimensional code recognition method. Taking code39 as an example, this paper introduces the basic components of the one dimensional code encoding feature and image recognition system. Aiming at the possible problems in the process of making printing and the noise of image acquisition, a new method is proposed based on improving the image quality and using one dimensional code structure. Experiment shows that by this method, so as to improve the image of the steel box girder of recognition and splicing efficiency, and high adaptability in complex environment.
one-dimensional code recognition; image processing; image recognition system
1001-2265(2016)09-0071-03DOI:10.13462/j.cnki.mmtamt.2016.09.020
2015-11-04;
2015-11-30
国家自然科学基金(51275208);山东省自然科学基金(Y2008F53)
董晓晓(1989—),女,山东淄博人,济南大学硕士研究生,研究方向为机电一体化,(E-mail)yimiaimeng@163.com;通讯作者:王玉增(1963—),男,山东聊城人,济南大学教授,硕士生导师,研究方向为计算机图形图像处理、图像识别、虚拟现实技术,(E-mail)me_wangyz@ujn.edu.cn。
TH162;TG506
A