Data Matrix二维码图像处理与应用
双缓冲区使一边采集图像一边处理图像成为可能,如图3所示。摄像头将图像采集到图像缓冲区1中等待处理,与此同时CPU利用这段时间处理图像缓冲区2中(上一帧)的图像,完毕后两个缓冲区的职能交换;CPU处理缓冲区1中采集的前一时刻的图像,而此时缓冲区2中的图像已被处理完毕,可以接收摄像头下一帧的采集图像。如此往复,两个缓冲区互换,不间断地运动便可实现伪实时处理。在处理环节上加Data Matrix识别功能,就能实现实时识别Data Matrix。采集图像和处理图像正好相差一帧,所以是“伪”实时的,但是假如计算机运算速度足够快,时间延迟的影响便可忽略。 这种方法的优点是既实现了实时性,又将采集和处理这两项进程分开,让CPU和摄像头分别独立并行地处理,充分利用了空闲时间。 3 识别结果统计与分析 通过编程,实现了对金属上的Data Matrix码进行识别,并统计了总的采集帧数(f)、帧率(f/s)、识别成功的总帧数、识别率等信息。实验证明在摄像头焦距以及光源都相当理想的情况下,识别率很高。 Data Matrix识别的成功率与很多因素有关,首先是Data Matrix符号本身,打印在纸上与打印在金属零件上的点阵式Data Matrix差异很大;其次是检测时的运动失真,会影响识别成功率;再次是背景图像的影响,Data Matrix符号与背景色反差越大,背景中干扰图像越少,识别成功率越高;光源、符号的旋转等都会对识别造成影响。 Data Matrix检测常用在流水线上,这时需要考虑摄像头与被检测零件相对运动对识别的影响。在实验中用固定零件、移动摄像头的方法来模拟流水线中的运动检测,记录每次检测时摄像头的运动速度,以此找出零件上的Data Matrix能够被识别的最大相对运行速度。 现通过实验测得20组数据,以6mm×6mm的Data Matrix为考虑对象,结果如表1所示。 上结果,在光照和摄像头焦理想的情况下,最大识别的相对速度为2.00cm/s,比该速度再快可能会因运动失真导致Data Matrix无法识别。 3.2 干扰图像的影响 在相同条件下,背景干扰少的图像识别率较高,尤其当北京具有与Data Matrix类似矩形状图形时。在光照较好的条件下,测试金属零件上的Data Matrix识别率。在有背景干扰的情况和用子缓冲区屏蔽一些背景干扰的情况各测得10组数据,分别如表2所示。
3.1 运动检测的影响
表1 待测Data Matrix与摄像头的相对运动对识别的影响
速度(cm/s)
1.04
1.06
1.41
1.56
1.69
1.70
1.75
2.00
2.03
2.09
能否识别
√
√
√
√
√
√
√
√
×
√
速度(cm/s)
2.14
2.23
2.32
2.38
2.52
2.52
2.63
2.64
2.70
2.71
能否识别
√
√
×
×
×
×
√
×
×
×
表2 背景干扰对识别的影响
有干扰 | 83% | 84% | 62% | 81% | 68% | 92% | 85% | 60% | 87% | 74% |
屏蔽干扰 | 97% | 88% | 87% | 84% | 92% | 90% | 99% | 83% | 85% | 90% |
可见,用于缓冲区屏蔽一些无用的背景图像后,识别效果总体上要略好于未屏蔽。
3.3 光源的影响
光源对识别成功率的影响反映在图像整体的明暗对比度上。对金属零件上的Data Matrix而言,其更多的是影响符号的清晰程度。光源位置如果选取不得当,由于金属的反光特性,金属表面会形成一片亮度特别大的镜面反射区,给Data Matrix图像造成强烈的干扰。
一种比较好的方法是用侧光的方法。由于金属零件上的Data Matrix码是气动打印产生的,打印处会有高低起伏,这些区域的反光是温反射,不同于其他区域的镜面反射光,侧光助于把点阵与金属反光的背景分开,将摄像头避开了金属的镜面反光。图4对比了侧光和反射光下的二维码状态。
3.4 识别程序的适应性
识别程序的适应性指适应不同尺寸和打印类型Data Matrix的能力。本文中考虑的打印类型有金属表面气动打印、金属表面电动针式打印和标准纸面激光打印三种。实验结果表明,程序对气动式打印Data Matrix码的识别能力普遍好于同样是金属材质的电动针式打印Data Matrix码。不同尺寸的识别率基本相等。打印在纸上的标准Data Matrix由于图形标准、颜色稳定、分辨率高等因素无需作太多的图像增强和膨胀就能够被计算机识别,识别率非常高。
- 音频功率放大器NCP2890的原理与应用(02-24)
- 瞄准Big Data异质网路商机 晶片厂猛攻OTN乙太网方案(11-03)
- 实例分析MCU的Data Flash访问控制(10-15)
- ADM-PCIE-8K5 PCIe加速器板卡的特性(02-08)
- LT3751如何使高压电容器充电变得简单(08-12)
- 三路输出LED驱动器可驱动共阳极LED串(08-17)