面向已经在运行 QR 解码器的 POS、自助终端和扫描器 SDK 团队。这是在不改动您现有 QR 路径的情况下,同时读取 WIA Code 的最短路径。
现有的 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 只是一个固定跳转,并非负载的副本——原生集成才是您的扫描器所缺少的。