zxing C#性能没有条码时速度慢

时间:2012-07-16 14:18:47

标签: c# barcode zxing

我使用条形码进行扫描应用。需要检查所有扫描页面的条形码。由于条形码始终位于同一位置,我可以裁剪区域以加快处理速度。问题是,只有部分扫描页面中有条形码。其他人没有。

  • 在条形码页面上搜索条形码约为1-3秒。
  • 在没有条形码的页面上搜索条形码是10s

现在条形码应该很容易找到有条形码的条形码,因为那些页面只包含这个Code128,否则是纯白纸。我可以设置任何选项来加快这个过程吗? TryHarder-Flag已设置为false,顺便说一句。

有没有人有想法?

2 个答案:

答案 0 :(得分:4)

看起来你的图书馆正在查看条形码的整个图像,当没有条形码时,它需要花费很多时间 - 因为它会遍历整个图像(线性复杂性)。另一方面,如果它找到一个(并且它应该向下几行/列) - 它可能会使用一条或多条水平线来提取条形码数据,这使得它在这些情况下非常快。

为了加快您的应用程序,我建议您首先尝试自己检测条形码,如果检测到,请将其传递给zxing。您可以通过检查图像中间行的像素值来做到这一点,如果您没有找到“像黑色”像素,则假设没有条形码。

希望这有帮助!

答案 1 :(得分:0)

除了ananthonline提供的解决方案外,您还可以尝试以下方法来加快流程:

  1. 按照您已经完成的方式裁剪区域。
  2. 由于页面只包含Code128,您可以在代码中指定条形码类型。否则,zxing将检查并验证所有支持的条形码类型,这将大大降低性能。