[第五章]开发小要点:提高条形码识别速度

位置

条形码的位置包括页面,盒子或其他物品上的物理位置。考虑用户场景很重要,因为条形码的定位可以提高识别速度。另外,您还需要保证条形码不会位于被损坏的位置。例如,如果您要将条形码添加到打印好的健康记录中,就需要避免将条形码放在用户可能会装订到的区域。

如果条形码的位置是固定的,您可以指定条形码位于的象限或区域,这可以提高识别速度。例如,如果您知道条形码将始终位于页面右上角的三英寸乘三英寸的框中,那么使用好的条形码识别软件,可以让该软件仅读取该区域(Dynamsoft Barcode Reader就能做到)。这样就不会浪费时间在扫描页面其他部分有没有条形码上了。

静区(空白区)

条形码扫描成功的部分原因是有一个正确定义的静区,也可以叫做空白区(就是条码第一根竖线左侧和最后一根竖线右侧的空白部分)。该空白区告诉条形码扫描仪条形码的开始和停止位置。空白区的大小因所使用的条形码类型而异。通常,最少需要八分之一英寸。对于条形码,验证空白区是很重要的。请确保您放置条形码的位置允许设置所需的空白区。

条形码方向及旋转

指定条形码在解码时所处的方向可以提高速度。因为这样条形码识别软件就不需要每个方向都去寻找。例如,如果您可以在应用程序中指定条形码方向始终是水平的,而不是垂直的,那么速度将会得到明显的提高。

为了进一步提高定向速度,您需要尽可能避免预处理条形码。虽然有时不可避免,但这意味着不必对其进行倾斜校正或平滑处理。

平滑-缩放(Smooth-Zooming

另一个可能影响解码速度的相关过程是平滑条形码。这实质上提高了分辨率,并使严重褪色和缺乏像素密度的受损条码变暗。但这不只是复制像素使其变暗,因为这会对条码识别产生负面影响。

必须智能地平滑缺少对比度或像素密度的条形码,并且条形码识别软件中应采用适当的缩放等级。实现平滑,都会牺牲速度。就像你想避免倾斜校正一样,你也要避免平滑。

在某些情况下,修复损坏的条形码对于特定应用来说是不可避免的操作。在这种情况下,能够对条形码进行预处理将有助于加快操作速度。但是,在大多数情况下,避免使用预处理机制是加快解码速度的理想途径。

文档页面上的条形码

条形码识别软件应允许使用参数来定义要一页上要扫描多少条形码或每个文档需要扫描多少页。例如,假设您有一个包含两个条形码的五页文档,而条形码分别位于第二页和第三页。能够在软件中指定预期的条形码数量以及在哪些页面上可以显著提高速度。

随着文档数量的增加,速度也会增加。因此,您应该能够使软件只扫描一定数量的条形码或特定页面。您还可以按每页设置此值,例如,页面中扫描的条形码是否达到允许的最大条形码数。

多线程

多线程是指在操作系统中为一个任务(一个程序或一个进程)运行多个执行线程。对任务的每个请求都有单独标识的线程进行跟踪。请求在多核或多处理器中并行处理。鉴于现在多核CPU的普遍性,软件应用程序以异步方式处理信息非常重要。这样一来,软件可以使用多线程来加快处理速度,而不会浪费处理器的计算能力。

附:Dynamsoft Barcode Reader 免费在线演示

这篇文章是“条形码阅读技术的最佳实践”系列的第五章。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值