すでにQRデコーダーを稼働させているPOS、キオスク、スキャナーSDKチーム向け。すでに出荷済みのQR処理には一切手を加えず、それと並行してWIA Codeを読み取るための最短ルートです。
既存のQR処理には一切手を加えません。WIA Codeのデコードは同じフレーム上で、それと並行して実行されます。
同じフレームに、呼び出しを1つ追加するだけ。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パッチ(ブースター)が含まれています。既存のQRリーダー — あなたのものを含め、無変更で — は、すでにそのパッチをスキャンして、ブラウザ上のWIA Webスキャナーにアクセスできます。ネイティブ統合とは、この余分な手順をなくすものです。
| ブースターのみ(未統合) | ネイティブデコード(このページ) | |
|---|---|---|
| ペイロードまでの手順 | 2 — ブースターをスキャンし、ページを読み込み、再度カメラをコードに向ける | 1 — 自社パイプラインが直接デコードする |
| ネットワーク | 必要 — Webページを読み込みます | 不要 — 完全オフライン |
| 得られるもの | 直接的には何もありません — ブースターは固定のリダイレクトURLしか運びません | 元のペイロード文字列そのものが、自社アプリ内で得られます |
| 認識される形状 | 埋め込まれた小さな正方形パッチのみ | 公開されている8種類のシルエットすべて |
| デコード遅延 | QR読み取り時間に加えて、ネットワーク往復時間 | シングルフレームデコード — リファレンスエンジン自身のデバッグHUDで測定した1フレームあたり約386ms |
適合性テストに合格した人であれば誰でも、WIA Codeの実装は無料です — ロイヤリティなし、競合スキャナーのための例外もありません。 プレッジ全文を読み、評価キットを入手する ↗
キットを試した後に質問がありますか? 大量発行、提携、商用導入に関するお問い合わせも同じ宛先までお願いします。 wiasoom@smilestory.ai
WIA CodeはSmileStory Co., Ltd.の製品です。ブースターQRは固定のリダイレクトであり、ペイロードのコピーではありません — ネイティブ統合こそが、あなたのスキャナーに欠けているものです。