Qraft (クラフト)

射影補正

読み: しゃえいほせい

射影補正 (パースペクティブ補正) は、カメラが対象を斜めから撮影した際に生じる台形歪みを、正面から見た正方形の状態に変換する画像処理です。射影変換行列を用いて、歪んだ四角形の 4 頂点を正方形の 4 頂点にマッピングします。

QR コードのデコードにおいて射影補正は不可欠です。ユーザーが QR コードを真正面からスキャンすることは稀で、ほとんどの場合は斜めの角度からカメラを向けます。テーブルに置かれた QR コードを上から覗き込む、壁に貼られた QR コードを横から撮影する、といった状況では、QR コードは台形や平行四辺形に歪んで撮影されます。

スキャナーは、3 つのファインダーパターンの位置関係から QR コードの歪みを計算します。正方形であるべきファインダーパターンがどのように変形しているかを分析し、逆変換を適用して正方形に戻します。この補正後の画像に対して二値化モジュール判定が行われます。

射影補正の精度は、ファインダーパターンの検出精度に依存します。ファインダーパターンの一部が隠れていたり、極端な角度 (ほぼ真横) から撮影されたりすると、補正が不正確になり読み取りが失敗します。QR コードを配置する際は、ユーザーが 30 度以上の角度からスキャンできる位置を選ぶことが推奨されます。