将 WIA Code 添加到您现有的扫描器

面向已经在运行 QR 解码器的 POS、自助终端和扫描器 SDK 团队。这是在不改动您现有 QR 路径的情况下,同时读取 WIA Code 的最短路径。

如何融入

摄像头帧由现有的 QR 库和 wiascan-core.js 并行解码 📷 摄像头帧 您现有的 QR 库 未修改 + wiascan-core.js 新增 — detectAuto() 您的结果处理程序 同一回调,两种负载均可

现有的 QR 路径完全不变。WIA Code 解码在同一帧上并行运行。

最小化集成

同一帧,只需多调用一次。如果您的 QR 库没有识别到任何内容,将同样的 ImageData 传给 WiaScan.detectAuto()

async function onFrame(imageData) {
  // your existing decoder, unchanged:
  const qr = existingQrLib.decode(imageData);
  if (qr) return handleResult(qr.data);

  // same frame, handed to WIA Code:
  const wia = WiaScan.detectAuto(imageData, { psf: true, deep: true });
  if (wia && wia.decoded) return handleResult(wia.text);
}

在本页发布之前,这段完全相同的 detectAuto() 调用已针对真实的一致性测试向量(clean_square_url.png,评估套件)运行过,并正确解码——这不是未经测试的示例代码。

用同样的方法验证您自己的构建:使用 node verify.js 让参考引擎运行全部 35 个一致性测试向量 —— 评估套件 ↗

您的哪些扫描器能做到这一点

这是一次软件层面的改动,而非硬件改动——但仅适用于本身就能捕获图像的扫描器。

扫描器类型可通过软件升级吗?原因
基于摄像头
2D 图像采集器,手机/自助终端/网络摄像头
可以 它捕获的是真实的图像帧——与上面示例解码的输入完全相同。
基于激光
1D/CCD 激光条码扫描器
不可以 它从不捕获图像——只沿一条线测量反射激光的强度。没有帧可以传给 detectAuto()

毫不夸张地说:激光扫描器无法通过固件更新读取此码。这是传感器的物理限制,而不是路线图上的空白。

您尚未集成的扫描器,今天就已经能用

每个 WIA Code 都携带一个指向 wiacode.com/s.html 的小型标准 QR 补丁(booster)。任何现有的 QR 阅读器——包括您未经修改的那个——都已经可以扫描该补丁,并在浏览器中打开 WIA 网页扫描器。原生集成所省去的正是这多余的一步。

仅 booster(未集成)原生解码(本页方案)
到达负载所需步骤 2 步——扫描 booster、加载页面、再次将摄像头对准该码 1 步——您自己的流水线直接解码
网络 需要——要加载一个网页 不需要——完全离线
您能得到什么 直接来说什么都没有——booster 只携带一个固定的跳转 URL 在您自己的应用中获得完全原始的负载字符串
可识别的形状 仅限内嵌的小方形补丁 全部 8 种已发布轮廓
解码延迟 您的 QR 读取时间,再加一次网络往返 单帧解码——在参考引擎自带的调试 HUD 上实测约为每帧 386ms

公开承诺

任何通过一致性测试的人都可以免费实现 WIA Code——没有版税,也不为任何竞争性扫描器留特例。 阅读完整承诺并获取评估套件 ↗

运行套件后还有疑问? 批量发放、合作和商业采用方面的咨询请发送至同一地址。 wiasoom@smilestory.ai

另请参阅

WIA Code 是 SmileStory Co., Ltd. 的产品。booster QR 只是一个固定跳转,并非负载的副本——原生集成才是您的扫描器所缺少的。