zxing C# 在没有条形码时性能缓慢

nin*_*ino 0 c# barcode zxing

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

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

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

有人有想法吗?

Ani*_*Ani 5

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

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

希望这可以帮助!