论文部分内容阅读
条形码技术自20世纪四五十年代发明以来,逐渐被广泛应用在商业、医疗、机械制造业、金融业、物流仓储等各行各业。近年来条码技术的发展迅速,特别是二维码的广泛使用,条码技术已经逐渐深入人们的生活当中。目前,市场中已经有成熟的条码识别设备出售,但是有着价格昂贵、功能单一等缺点。随着嵌入式硬件、软件技术的发展,智能移动终端开始迅猛的发展,而其中智能手机是发展最迅速的一类。条形码技术可以很方便的为智能终端提供数据传输的支持,配合智能终端多应用的特性,只需要搭载不同的应用,就可以将同一台设备应用到大量不同的场景。为了将条码技术与当前发展迅速的互联网应用相结合,本文以面向移动智能终端的条码识别系统为课题,主要研究了一、二维条码的解码方法,通过图像处理的方式在条码定位、去模糊、低解析度方面提高解码效果;以智能移动终端技术作为基础,自行设计并实现了一款条码识别系统,该系统以嵌入式Linux和开源系统Android作为基础,搭载我们实现的解码库,可以运行多种不同的解码应用,适用于各行各业的应用场景。主要研究分为四个部分。第一部分提出条码识别系统的架构,分为解码应用层、解码中间件层和硬件层三个部分。应用层会根据不同的应用场景而实现不同的业务逻辑;解码中间件为最重要的组成部分,其实现了对硬件的驱动,向应用层提供通用的接口,为应用层屏蔽具体硬件的操作。最后根据条码识别的需要,选择硬件器件,包括摄像头模块、照明灯、指示灯、蜂鸣器、按键等。第二部分为驱动程序的设计与实现。根据硬件连接的不同控制接口,分析Linux中GPIO、I2C、PWM、V4L2和SPI驱动框架,并实现对应硬件设备的驱动程序;实现一个抽象访问层,为应用层提供硬件操作接口。第三部分为解码算法的研究,解码算法分为两个部分,一是使用图像处理的方法,从条码图案的定位、去模糊、低解析度、图像旋转几个方面提高条码图像的质量;二是根据每个类型条码的编码规范,通过对条码图像的识别,完成图案内容到字符内容的转换。第四部分为条码识别系统的性能测试。通过多种不同角度的测试确定我们所实现的条码识别系统的性能,并与当前市场上成熟的条码识别设备进行对比。