Qraft (クラフト)

二値化

読み: にちか

二値化は、グレースケール画像の各ピクセルを、閾値 (しきいち) を基準に白 (明) か黒 (暗) の 2 値に変換する画像処理です。閾値より明るいピクセルは白、暗いピクセルは黒に分類されます。QR コードのデコードにおいて、モジュールが「暗い」か「明るい」かを判定する核心的なステップです。

二値化の精度は、閾値の設定方法に大きく依存します。固定閾値 (画像全体に同じ値を適用) は、均一な照明条件では有効ですが、影や照明ムラがある環境では一部のモジュールが誤判定されます。適応的閾値 (画像の局所領域ごとに閾値を動的に計算) は、照明条件が不均一な環境でも安定した二値化を実現します。現代のスマートフォンの QR コードリーダーは、適応的閾値を採用しています。

二値化が困難になるケースとして、低コントラストの QR コード (薄い色のモジュール)、逆光環境 (QR コードの背後に強い光源)、反射 (光沢のある表面に印刷された QR コード)、モーションブラー (移動中のスキャン) があります。エラー訂正機能が一部の誤判定を補償しますが、根本的にはコントラストの高い QR コードを適切な環境で印刷・掲示することが最善の対策です。