QR コードが読み取れないのはなぜか
読み取りの失敗は、ほぼ 8 つの原因のどれかです。どれなのかの見分け方を書きます。
8 つの原因
| 原因 | 症状 | 対処 |
|---|---|---|
| 小さすぎる | カメラがまったく合焦しない | 最低 2 cm、長い URL なら 3 cm 以上で印刷 |
| コントラスト不足 | 途中まで検出してから失う | 白地に黒。灰色の地に白は不可 |
| 反射 | 角度を変えたときだけ読める | 面を傾けるか、光源を動かす |
| 折り目・破損 | 折り目をまたぐ部分だけ失敗 | 平らにするか、印刷し直す |
| 画面のモアレ | カメラ映像に干渉縞が出る | スクリーンショットして画像を解読 |
| ぼけ・手ぶれ | ピントが行き来する | タップして合焦、動かさず端末を固定 |
| 色の反転 | まったく検出されない | 暗い色を明るい地に。反転対応はデコーダ次第 |
| 位置検出パターンの欠け | 検出そのものが起きない | 3 隅の四角がすべて無傷であること |
3 隅の四角が最も重要
QR コードには 3 つの角に大きな四角いマーカーがあります。デコーダがコードを見つけ、向きを決めるためのものです。デザインで 1 つを切り落とす、ロゴを重ねて隠す、曲面に巻いてマーカーを歪ませる。どれかをやると、どのデコーダも読めません。誤り訂正では救えません。そもそもコードの位置が特定できないからです。
デザイナーがコードの中央にロゴを置くのは、たいてい問題ありません。中央はデータで、誤り訂正に守られているからです。角のマーカーを覆うのは問題で、印刷物でよくあるミスです。
画面にあるなら、撮影しない
スクリーンショットを撮り、その画像を解読してください。モニタを撮影するとモアレ、遠近の歪み、不均一な明るさが入り、どれもデコーダが必要とする境界を壊します。元の画素のほうが明確に優れています。
スマートフォンのカメラがどうしても合焦しないときの最速の回避策もこれです。スクリーンショットを撮り、画像を読むタイプのリーダーに渡します。
よくある質問
印刷した QR コードはどこまで小さくできますか?
短い URL を近距離で読むなら 2 cm 程度です。内容が長いほどモジュール数が増えるので、1 モジュールを印刷できる大きさを保つには物理サイズを大きくする必要があります。典型的なリンクなら 3〜4 cm です。
破損したコードでも読めますか?
誤り訂正の範囲内なら読めます。目安としてコードの 7% から 30% まで失っても復元できます。例外は角のマーカーの破損で、これは通常復元できません。
同じコードがある端末では読めて別の端末では読めないのは?
カメラの品質、オートフォーカスの挙動、デコーダの版です。古い、あるいは安価なカメラは、小さい・光沢がある・低コントラストのコードを苦手にします。