【问题标题】:Quagga doesn't locate or decode barcodesQuagga 无法定位或解码条形码
【发布时间】:2017-11-03 21:11:46
【问题描述】:

我正在尝试使用Quagga 制作条形码扫描仪。但我只能看到网络摄像头的实时版本,但它无法识别任何 (code 128) 条形码。 (sn-p 不会在 stackoverflow 上显示网络摄像头。)

我认为我错过了一步,但希望这里有人可以将我推向正确的方向。

Quagga.init({
		inputStream : {
		  name : "Live",
		  type : "LiveStream",
		  target: document.querySelector('#scanblock')
		},
		decoder : {
		  readers : ["code_128_reader"]
		}
	  }, function(err) {
		  if (err) {
			  console.log(err);
			  return
		  }
		  console.log("Initialization finished. Ready to start");
		  Quagga.start();
	  });
<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://serratus.github.io/quaggaJS/examples/js/quagga.min.js" type="text/javascript"></script>
  </head>
  <body>
    <header style="text-align: center; margin-top:3%;">
      <h3>Barcode Scanner</h3>
      <hr/>
    </header>
    <div style="text-align: center; margin-top: 6%;">
      <div id="scanblock"></div>
    </div>
  </body>
</html>

【问题讨论】:

  • 我做了一个相当大的条形码实现,同时使用了 QuaggaJS 和 ZXing。您是否尝试过其他可能的条形码值(ean_reader、upc_reader 等)以确保它不仅仅是您尝试扫描的 code_128 的问题?如果不是这样,它是否真的在屏幕上勾勒出条形码?
  • 感谢您的回复,其他条码也不行。不,它没有勾勒出条形码。它只显示实时网络摄像头。
  • 你的控制台有错误吗?
  • 不,控制台中唯一显示的是“初始化完成。准备启动”。我认为我遗漏了一部分代码,但不确定是哪一部分。
  • 你需要实现 Quagga.onProcessed 和 Quagga.onDetected

标签: javascript barcode barcode-scanner quagga quaggajs


【解决方案1】:

Jymbo 是正确的。您还必须实现 .onProcessed() 和 .onDetected()。我建议在 onDetected 返回结果时执行.stop()。否则它将继续处理和检测——永远。

如果您没有弄清楚,它只会检测解码器上定义的读取器实例。

【讨论】:

    猜你喜欢
    • 2018-07-11
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-16
    • 2014-04-18
    相关资源
    最近更新 更多