当前位置:首页 > 模拟 > 模拟
[导读]摘要:文章以条码技术、图象处理技术以及计算机软件技术为基础,设计出比较完善可靠的条形码识别算法。文中着重介绍了条形码识别的算法,并且对三种情况下即:理想的、小于五度倾斜的、稍微模糊的条形码进行了识别测

摘要:文章以条码技术、图象处理技术以及计算机软件技术为基础,设计出比较完善可靠的条形码识别算法。文中着重介绍了条形码识别的算法,并且对三种情况下即:理想的、小于五度倾斜的、稍微模糊的条形码进行了识别测试并给出改进思路。
关键词:图像;条形码;算法

0 引言
    本设计的目的是在AOI(Automatic Optical Inspection,自动光学检测)设备提供的PCB板图片中对PCB板的条形码信息进行识别,应用于电子通讯产品的生产线上,进行PCB板的错误检测。AOI通过摄像头自动扫描PCB、采集图像、测试的焊点与数据库中的合格参数进行比较,经过图像处理,检查出PCB上的缺陷,并通过显示器把缺陷显示、标识出来,供维修人员修正。PCB上所贴的条形码记录了该PCB的身份信息,通过识别该条形码字符来认证PCB板。
    本文主要解决的问题是条形码的编码规则如何转换为实际获得的像素点的参照标准,如何分割条形码以及如何以后台数据库为基准识别条形码。

1 条形码识别的算法研究及其实现
1.1 条码识别算法步骤
    条形码识别算法的过程主要分为以下这三个步骤:


    (1) 对于一个条形码图像,要识别的是从静区开始的有效区域,算法中考虑了判别是否到达静区,以此作为条码识别工作的开始标志;
    (2) 算法中总体上采用把整个条形码按照39码型的编码规则进行分割,再依次找寻每个条形码字符的逻辑值在数据库中的匹配字符来输出。
1.2 算法分析
    在条形码识别的算法分析过程中必须要解决三个比较关键的问题:1)条码的长宽在图像文件中用什么来衡量;2)条码的码字是不是要在识别之前分割出来,如果要分割出来,那么如何分割;3)分割后要怎么把对应的码字进行处理。
    在设计之前理解了这三个问题,整个设计就会获得良好的解决。首先明确,所要处理的码型是39码。39码的一个重要的特点就是,具有不可伸缩性,也就是说,一个条码字符就是由占一定长度的,9个元素组成的,其中3个宽元素6个窄元素。39码符号均以*号开始和结尾,即木号是39码的起始,终止字符,并且39码是离散码,符号中两个相邻字符之间用一个位空分开。假设把条形码抽取9个元素,然后跳过1个往下抽取9个,依次类推,把抽取获得的每9个元素组成条形码的每个字符,只要检测到前9条元素(由条和空组成,为了更好说明,文中把条说成黑条,而把空说成白条)是*就开始进行条码字符的识别,如果不是则放弃。
    对于扫描得到的条码BMP文件其白条和黑条的宽度及几何长度已经失去意义,必须用另一种方法来表示。此时可以给出问题1)的答案:长宽用像素的个数来表示。对一个BMP文件,其像素的数据包含对应的RGB值,用以表征它的颜色。因此可以通过该像素的RGB值来辨认出是白色还是黑色。在理想的状况下,白颜色的RGB值为(255,255,255)而黑颜色的RGB值为(0,0,0),但是实际条件下,一个条码图像不会达到那样标准的RGB值,也就是有模糊的状况,规定这样一个判决准则:把RGB值大于(125,125,125)的像素认为是白色像素,而把RGB值小于(12 5,125,125)的像素认为是黑色的像素。在程序中采用列表PixelList=[]来存储这些像素。然后基于以上的判决原则,程序实现“扫描”X轴,获得每个像素,如果该当前的像素值符合是黑色的条件,就记录到BlackCount,这时如果下一个的像素值还是黑色的就累加,如果下一个像素值符合是白色的条件,则把存储黑色像素个数的变量BlackCount清空,以方便来记录下一个黑条的像素个数。同样地,对于白色像素也有类似的操作。至此得到了一个列表GeneralList=[],里面存放着扫描X轴每个被认为是黑条或是白条其对应的像素个数。
    通过上面一步,把实际的条形码转换为用计算机所能运算和操作的方式,这里必须解决第(2)个问题,即在开始条码识别的时候,要不要进行码字分割。显然,这一点对简化整个识别工作是个很大的帮助,如果能够正确地把条码的各个码字分离出来,那么剩下的工作就仅仅是把独立的码字的逻辑值和数据库相匹配,找寻到数据库中匹配的字符,再把它输出来,实现这一点是容易的。因此,条码分割是整个识别工作的难点和核心,整个算法重心也在此。
    首先定义一个大列表CharList=[],由于列表中的元素可以为小列表,所以创建这个列表来放码字,每个码字为每个小列表,小列表里的元素是对应的黑条和白条的像素个数。如何实现码字分割,首先考虑到39码的特点:一个码字为9个元素,每个码字中间用一个白条隔开。所以只要在GeneralList=[]进行操作,把需要的那个元素抽取存放到新的列表中即可。
    其次是判断是宽条还是窄条。先计算出黑条的平均像素个数,之所以考虑采用计算平均像素个数的方法,是为了解决条形码出现小角度倾斜依然能够成功识别这样的况。宽条或窄条的判断原则是:对黑条而言,如果其像素个数大于这个平均值就是宽条,如果小于这个平均值就是窄条。如果是宽条就赋逻辑值1,如果是窄条就赋逻辑值0。把这些逻辑值都放到列表中,这个时候的列表,也是列表的列表,大列表的元素是单个条码字符的黑条的逻辑值列表,小列表里的元素是01010这样的逻辑值,用来表示宽窄。同样地,对于白条而言,也有类似操作。至此,获得了两个大列表。一个是放黑条逻辑值的列表:BLogicList;一个是放白条逻辑值的列表WLogicList。大列表中的元素是每个码字的逻辑值列表,这样实现了码字的分割工作。
    对于第3)个问题:分割之后要对码字如何处理。首先,可以建立一个数据库,将条码规则的信息放入数据库中。然后,只要在条形码识别软件中把数据库和相应的程序相连接,查找匹配值即可。在Access 2000数据库中,黑条逻辑值和白条逻辑值都是以文本的数据类型来存放,但是在列表中各个0101都是整型。因此把列表里面元素进行数据类型转换,列表里的数字转换为字符,成为一个字符串作为列表的元素存储。
1.3 软件调试及其分析
    根据算法的实现功能,选择理想的和非理想的(小角度倾斜和轻微模糊的情况)三张条形码进行识别测试。


    采用这三张条形码进行测试,步骤如下:
    (1) 启动调试软件,出现一个用户界面菜单,供用户载入条码图片。


    (2)选择一个条码的BMP文件后将其载入,可以获得:


    (3) 开始条码的识别程序,此时可以获得条码识别成功的信息框,理想的条码图片的识别结果为:


    倾斜角度小于5°情况下的条形码图片和表面轻微模糊的条形码图片的识别结果如图8所示:


    从以上三种情况的条码图片测试可以看出所设计的条形码识别算法达到了预期的功能,实现了设计的目标。

2 结论
    本文主要解决的问题是条形码的编码规则如何转换为实际获得的像素点的参照标准,如何分割条形码以及如何以后台数据库为基准识别条形码,这些都已经获得了良好的解决。
    条形码的字符分割部分是本设计的难点所在。根据39码的编码规则进行算法设计,突破了该难点。设计对于一定程度的不理想条形码也做了处理。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭