现在位置:范文先生网>理工论文>电子通信论文>Data Matrix二维码图像处理与应用

Data Matrix二维码图像处理与应用

时间:2022-12-05 14:01:34 电子通信论文 我要投稿
  • 相关推荐

Data Matrix二维码图像处理与应用

  摘要:以MeteorIIStandard图像采集卡为基础,以识别金属零件上的DataMatrix二维码为目的,对摄像头采集的图像进行处理。实现了该方法在工业流水线睥实时识别应用。
  关键词:二维码DataMatrix图像处理实时识别
  
  二维码是在平面二维方向上都记录信息的符号。它充分利用了平面上的二维空间,大大提升了信息密度,使得在小面积上编码大数据成为可能。其次由于它超强的纠错能力,即使大面积受损也能被准确识别。目前二维码应用于工业自动化、物流、邮政、医疗、商业、金融、交通运输、身份识别、政府管理、公共安全、海关及国防等领域。在我国,二维码的应用尚属起步阶段,应用地区和领域也相当有限。但是可以预见,二维码以其独特的优势必将像条形码一样在我国的各个领域被推广和应用。
  
  本文通过Matrox公司的图像采集卡Meteor-IIStandard,利用MIL函数库对气动打印在金属零件上的DataMatrix二维码进行了实时捕捉识别,并对采集来的DataMatrix图像进行具体的图像处理,命名其达到被识别的要求。最后,通过实验讨论提高识别率的方法。
  
  图1
  
  1DataMatrix概述
  
  二维码有多种类型,本文只讨论矩阵式DataMatrix。
  
  DataMatrix最大特点就是“小”,能在25mm2面积上编码30个数字,因此被广泛用于标示集成电路、药品等小件物品。另外在制造业的流水线生产过程中,打印生成DataMatrix也较容易。
  
  如图1所示,DataMatrix符号看起来像一个由深浅两种颜色组成的国际象棋棋盘,每一个相同大小的黑色或白色方格称为一个数据单位。DataMatrix符号由许多这样的数据单位组成。在寻边区外层有宽度为一个数据单位的静区。寻边区是“棋盘”的边界,只用于定位和定义数字单位的大小,而不含有任何编码信息。被寻边区包围的数据区包含着编码信息。矩阵中的0、1就是DataMatrix的黑白两色小方格,即数据单位。
  
  DataMatrix采用了Reed-Solomon交织交插编码,编码时加入了纠错码,使DataMatrix的纠错性能比较强。以一个5位的流水号“12345”为例,通过编码规则得到DataMatrix的3位码字和5位纠错码,可纠错2位码字,纠错率为2/8=25%。
  
  2用MIL识别DataMatrix码
  
  Meteor-IIStandard是Matrox公司的一块图像采集卡,通过摄像头采集外界图像,然后实时地传输给主机内存。MIL函数开发包是一个独立于硬件的32位图像处理函数库,其中有大量基本的图像处理函数。
  
  2.1基本过程
  
  DataMatrix识别的基本过程如图2所示。通过MIL提供的函数采集图像,并将采集的图像以数字化方式存储在图像缓冲区中;对图像进行增强处理,提高图像的识别准确率。实验中通过平滑滤波方法,减少图像噪声,很好地解决了采集金属零件的DataMatrrix码时,由于码符号边沿亮度过亮影响图像分割问题;然后对图像进行直方图均衡化,扩大对比度的动态范围,解决由于光照或摄像头的原因,造成采集的图像偏暗,对比度不够显著,引起图像中明暗模糊不清的问题。
  
  由于采集后的图像有很多无用背景,DataMatrix符号所在区域只占整个图像很上的比重。采用遮罩的方法,用一个固定位置的子缓冲区限制图像处理区域,忽略区域外的图像,实现DataMatrix的符号提取。最后用MIL函数直接译码,并将译码结果放在指定的字符串中,用显示语句在屏幕上打印结果。
  
  2.2DataMatrix符号的膨账
  
  金属零件上的DataMatrix码是气动打印而成的成点阵式,与标准的DataMatrix符号不完全一样,其点间空隙大。如对这种码毫无处理地进行识别,则识别率会很低。为了解决这个问题,采用数学形态学的膨胀算法。为了提高识别准确度,可以将DataMatrix符号膨胀若干次,缩小数据单位之间的空隙。这样,计算机在“寻找”DataMatrix的“L”型寻边区时就容易准确得多。
  
  2.3伪实时识别的实现
  
  由于MIL本身不支持图像的实时处理,所以要实现实时识别需要用一种叫做比缓冲的方法实现伪实时的图像处理,CPU每次处理的图像其实是摄像头采集的上一帧图像。
  
  双缓冲区使一边采集图像一边处理图像成为可能,如图3所示。摄像头将图像采集到图像缓冲区1中等待处理,与此同时CPU利用这段时间处理图像缓冲区2中(上一帧)的图像,完毕后两个缓冲区的职能交换;CPU处理缓冲区1中采集的前一时刻的图像,而此时缓冲区2中的图像已被处理完毕,可以接收摄像头下一帧的采集图像。如此往复,两个缓冲区互换,不间断地运动便可实现伪实时处理。在处理环节上加DataMatrix识别功能,就能实现实时识别DataMatrix。采集图像和处理图像正好相差一帧,所以是“伪”实时的,但是假如计算机运算速度足够快,时间延迟的影响便可忽略。
  
  这种方法的优点是既实现了实时性,又将采集和处理这两项进程分开,让CPU和摄像头分别独立并行地处理,充分利用了空闲时间。
  
  3识别结果统计与分析
  
  通过编程,实现了对金属上的DataMatrix码进行识别,并统计了总的采集帧数(f)、帧率(f/s)、识别成功的总帧数、识别率等信息。实验证明在摄像头焦距以及光源都相当理想的情况下,识别率很高。
  
  DataMatrix识别的成功率与很多因素有关,首先是DataMatrix符号本身,打印在纸上与打印在金属零件上的点阵式DataMatrix差异很大;其次是检测时的运动失真,会影响识别成功率;再次是背景图像的影响,DataMatrix符号与背景色反差越大,背景中干扰图像越少,识别成功率越高;光源、符号的旋转等都会对识别造成影响。
  
  3.1运动检测的影响
  
  DataMatrix检测常用在流水线上,这时需要考虑摄像头与被检测零件相对运动对识别的影响。在实验中用固定零件、移动摄像头的方法来模拟流水线中的运动检测,记录每次检测时摄像头的运动速度,以此找出零件上的DataMatrix能够被识别的最大相对运行速度。
  
  现通过实验测得20组数据,以6mm×6mm的DataMatrix为考虑对象,结果如表1所示。
  
  上结果,在光照和摄像头焦理想的情况下,最大识别的相对速度为2.00cm/s,比该速度再快可能会因运动失真导致DataMatrix无法识别。
  
  3.2干扰图像的影响
  
  在相同条件下,背景干扰少的图像识别率较高,尤其当北京具有与DataMatrix类似矩形状图形时。在光照较好的条件下,测试金属零件上的DataMatrix识别率。在有背景干扰的情况和用子缓冲区屏蔽一些背景干扰的情况各测得10组数据,分别如表2所示。
  
  表1待测DataMatrix与摄像头的相对运动对识别的影响
  
  速度(cm/s)1.041.061.411.561.691.701.752.002.032.09能否识别√√√√√√√√×√速度(cm/s)2.142.232.322.382.522.522.632.642.702.71能否识别√√××××√×××
  表2背景干扰对识别的影响
  
  有干扰83%84%62%81%68%92%85%60%87%74%屏蔽干扰97%88%87%84%92%90%99%83%85%90%
  可见,用于缓冲区屏蔽一些无用的背景图像后,识别效果总体上要略好于未屏蔽。
  
  3.3光源的影响
  
  光源对识别成功率的影响反映在图像整体的明暗对比度上。对金属零件上的DataMatrix而言,其更多的是影响符号的清晰程度。光源位置如果选取不得当,由于金属的反光特性,金属表面会形成一片亮度特别大的镜面反射区,给DataMatrix图像造成强烈的干扰。
  
  一种比较好的方法是用侧光的方法。由于金属零件上的DataMatrix码是气动打印产生的,打印处会有高低起伏,这些区域的反光是温反射,不同于其他区域的镜面反射光,侧光助于把点阵与金属反光的背景分开,将摄像头避开了金属的镜面反光。图4对比了侧光和反射光下的二维码状态。
  
  3.4识别程序的适应性
  
  识别程序的适应性指适应不同尺寸和打印类型DataMatrix的能力。本文中考虑的打印类型有金属表面气动打印、金属表面电动针式打印和标准纸面激光打印三种。实验结果表明,程序对气动式打印DataMatrix码的识别能力普遍好于同样是金属材质的电动针式打印DataMatrix码。不同尺寸的识别率基本相等。打印在纸上的标准DataMatrix由于图形标准、颜色稳定、分辨率高等因素无需作太多的图像增强和膨胀就能够被计算机识别,识别率非常高。
  

【Data Matrix二维码图像处理与应用】相关文章:

DMA在实时图像处理中的应用08-06

SVGA图像处理08-06

基于数据库的JPG图像处理08-06

图像处理中分辨率的选取08-06

内嵌ARM核的FPGA芯片EPXA10及其在图像驱动和处理方面的应用08-06

一种基于图像处理的自动调焦系统08-06

扫描仪图像采集与处理技术研究08-19

1394技术及其在图像传输系统中的应用08-06

VHDL在高速图像采集系统中的应用设计08-06