基于DaVinci技术的一维条码识别方法技术

技术编号:10053993 阅读:223 留言:0更新日期:2014-05-16 02:48
本发明专利技术提供一种基于DaVinci技术的一维条码识别方法,包括下述步骤:A.输入图像预处理的步骤:对输入的RGB格式的源图像进行灰度化处理,以及缩小处理和去噪处理,分别获得解码用灰度图、定位用灰度图、去噪后灰度图;B.条码定位的步骤:对步骤A中获得的三张灰度图进行相关处理,提取条码区域并校正角度;C.解码的步骤:对提取的条码区域进行扫描和解码,获得条码码值。本发明专利技术对条码的识别算法进行了特殊的设计和优化,提高了算法的鲁棒性,满足了复杂的工业环境中的自动化、实时的条形码识别需求。

【技术实现步骤摘要】
【专利摘要】本专利技术提供一种,包括下述步骤:A.输入图像预处理的步骤:对输入的RGB格式的源图像进行灰度化处理,以及缩小处理和去噪处理,分别获得解码用灰度图、定位用灰度图、去噪后灰度图;B.条码定位的步骤:对步骤A中获得的三张灰度图进行相关处理,提取条码区域并校正角度;C.解码的步骤:对提取的条码区域进行扫描和解码,获得条码码值。本专利技术对条码的识别算法进行了特殊的设计和优化,提高了算法的鲁棒性,满足了复杂的工业环境中的自动化、实时的条形码识别需求。【专利说明】
本专利技术涉及适用于工业生产流水线控制系统的图像处理方法,尤其是一种条码识别方法。
技术介绍
随着20世纪计算机技术的飞速发展,条码技术的发展也很迅猛。到了如今的信息时代,条码作为一种简单、易行、廉价、高速的输入技术已被世界各国普通采用,已被称为“商品进入国际市场的通行证”。目前,国外的条码技术应用已相当广泛,在国内条码技术仍有很大的发展前景。在工业零件生产过程中,对贴于零件上的条码进行定位识别,可以实现产品的质量监控及产品溯源。虽然条码技术在理论上发展已相对成熟,但是对于工业生产过程中条码的识别算法,其精确性与实时性仍然有待进一步研究。市场上条码识别多数是建立在手持终端近距离对条码扫描的过程上的,识别算法对条码定位无需过多考虑。而在工业视觉应用系统中,需固定相机,对距其有一定距离的履带上传送的产品进行自动抓拍,此时条码区域在整幅采集图像中所占面积比例较小,并且条码区域会发生倾斜现象,从而需要在识别前首先对采集图像中的条码区域进行定位,并旋转以校正条码的角度。此外,手持终端可采集到高质量的图片,从而条码识别较易。而在工业生产过程中,由于采集距离的限制、产品的运动以及复杂的工业环境的影响,使得相机极难获得高质量的图片,这对条形码识别算法提出了更高的要求。目前国内外虽然也有一些条码识别的研究成果,但考虑的情况往往比较理想,不适合工业环境下的条码识别。尤其是在工业自动化流水线中,待识别产品的运动速度较快,条形码识别系统如果不能实时工作,则将影响整个工业生产线。所以在工业生产中,如何保证条形码识别系统实时地、高效地运行具有极其重要的意义。
技术实现思路
本专利技术的目的在于克服现有技术中存在的不足,提供一种,使得条码识别系统能够实时地、高识别率地运行。本专利技术采用的技术方案是: 一种,包括下述步骤: A.输入图像预处理的步骤:对输入的RGB格式的源图像进行灰度化处理,以及缩小处理和去噪处理,分别获得解码用灰度图、定位用灰度图、去噪后灰度图; B.条码定位的步骤:对步骤A中获得的三张灰度图进行相关处理,提取条码区域并校正角度; C.解码的步骤:对提取的条码区域进行扫描和解码,获得条码码值。所述步骤A具体包括以下子步骤: A-1,首先将输入的RGB格式的源图像进行灰度化处理,即可得到解码用灰度图; A-2,接着利用插值算法,将解码用灰度图按照需要的倍数缩小,获得定位用灰度图; A-3,随后利用高斯模糊的方法对定位用灰度图进行平滑去噪,得到去噪后灰度图。所述步骤B具体包括以下子步骤: B-1,顶帽滤波:对去噪后灰度图和定位用灰度图进行顶帽滤波处理,获得滤波后灰度图; B-2,获取掩码:由滤波后灰度图的相关信息,对定位用灰度图进行二值化阈值处理,获取初步的掩码; 对该初步的掩码进行形态学操作,消除噪声,连通条码区域,得到条码区域的掩码,并对条码区域的掩码进行放大,使得掩码的大小与解码用灰度图相同; B-3,用放大后的掩码处理解码用灰度图,获取解码用灰度图中的条码区域; B-4,条码旋正:利用霍夫变换算法,获取条码区域中与条空平行的直线的倾斜角,并根据该倾斜角对条码区域进行旋正。所述步骤C具体包括以下子步骤: C-1,逐行地扫描旋正后的条码区域,得到扫描线; C-2,对扫描线进行二值化处理; C-3,读取并根据二值化后的扫描线中的条空信息求条码的各码字的码值逻辑值;然后得到一个条码中所有码字的码值逻辑值组成的逻辑值数组; C-4,判断解码方向; C-5,根据码字的码值逻辑值与码字的对应关系,得到一个条码的所有码字的码值;C-6,进行条码码值校验,若校验通过则解码成功,否则重新扫描一条扫描线,重复步骤C-1至C-6继续做解码操作。本专利技术的优点:本方法满足了复杂的工业环境中的自动化、实时的条形码识别需求。对工业流水线中的特殊情况进行了缜密的研究,并予以解决。对条码的识别算法进行了特殊的设计和优化,使整套系统的应用前景更为开阔。【专利附图】【附图说明】图1为DaVinci技术软件系统架构。图2为本专利技术的算法时序流程图。图3为本专利技术的预处理流程图。图4为本专利技术的条码定位流程图。图5为本专利技术的条码解码流程图。【具体实施方式】下面结合具体附图和实施例对本专利技术作进一步说明。本专利技术所提出的,主要运行在条码识别系统上,能够对工业生产过程中的条码进行自动识别,条码类型为一维Codel28码,条码识别系统主要包括三个模块:预处理模块、定位模块、解码模块。预处理模块主要是对RGB三通道的输入图像进行处理,获得用于解码和定位的8位单通道灰度图,并进行图像去噪处理。其中用于定位的灰度图的长和宽都被适应的缩小,以提闻系统运行的速度。定位模块主要以顶帽算法为核心,对整幅图像进行相关处理,提取条码区域并校正角度。解码模块首先对条码区域进行二值化处理,然后通过逐行扫描的方式,并利用codel28码本身的校验码,来对所得条码进行解码。本系统的图像处理是基于DaVinci技术进行的。Davinci处理器是建立在TI公司最新的TMS320C64x+DSP核基础上的SoC(System On Chip片上系统),包含DSP核、ARM核、加速器和外设,从而保证各种终端数字设备对价格、性能等方面的苛刻要求,而条形码的识别算法就是运行在DSP核上的。DaVinci技术的总体软件架构分为三个主要的层次:信号处理层,应用层和Linux驱动层。这种软件的划分反映了底层硬件的构成:DSP、ARM用户和ARM的内核空间。软件架构框图如图1所示:应用程序运行在ARM端,它负责整个系统的I/O存取和应用程序调用。DSP负责图像处理算法,其运算产生的结果可以通过存储器共享机制由ARM获得做进一步的显示、播放后处理。另外,ARM端提供了一系列可调用的驱动程序、定时器API接口,给应用程序使用,应用程序开发人员可以不了解底层硬件工作原理即能对其进行调用。TI公司的TMS320DM6467的主要性能参数为:(1)处理器有2个:主频300MHz的ARM926EJ-S主处理器和主频为600MHz的TMS320C64x+DSP核。(2)内存和存储器:256MBDDR2内存、128MB NAND闪存、支持IDE硬盘的ΑΤΑ接口、支持SATA硬盘的SATA接口。( 3 )缓存:ARM 端 16Κ 1-Cache, 8K D_Cache、32K TCM RAM、8K Boot 1?(^05卩端321( LID Cache/SRAM、32K LlPcache/SRAM、128K L2 Cache,64K Boot ROM。TMS320DM6467 的这些性能都保证了算法的高效运行,为实时性提供了保障。如本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:程玉庭班健李功燕
申请(专利权)人:江苏物联网研究发展中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1