冗長性があるため、QRコードに画像を重ねてスキャンすることは可能です。
しかし、隠すことができるモジュールの最大数と、まだ残っている冗長性をどのように計算できますか?
私は、ほとんどの人がフォトショップでコードを微調整し、リーダーで試しているのを見ています.QRCodeをオンザフライで生成し、arbirtray画像を追加したいので、この種の手動微調整はうまくいきません.
冗長性があるため、QRコードに画像を重ねてスキャンすることは可能です。
しかし、隠すことができるモジュールの最大数と、まだ残っている冗長性をどのように計算できますか?
私は、ほとんどの人がフォトショップでコードを微調整し、リーダーで試しているのを見ています.QRCodeをオンザフライで生成し、arbirtray画像を追加したいので、この種の手動微調整はうまくいきません.
ウィキペディアによると、4 つの誤り訂正レベルにより、次の近似レベルの誤り訂正回復が可能になります。
Level L (Low) 7% of codewords can be restored.
Level M (Medium) 15% of codewords can be restored.
Level Q (Quartile) 25% of codewords can be restored.
Level H (High) 30% of codewords can be restored.
正確な数値については、QR コードの仕様 (ISO 18004) を参照する必要があります。
これよりも少し複雑です。例えばコーナーのファインダーパターンはECの数値が当てはまりません。それらを少し歪ませることはできますが、正確な量に厳格な制限はありません。
同様に、EC レベルとバージョン情報自体が含まれているため、EC でカバーされていない QR コード データの領域があります。これらは、右上と左下のコード周辺の領域です。それらには異なる EC スキームがあり、ある程度の冗長性がありますが、破損できる数を正確に説明するのは難しいでしょう。
最後に、ロゴでカバーされているモジュールについては、ロゴの明暗が下にあるモジュールと一致する可能性が約 50% (ロゴによって異なります) であることを覚えておいてください。したがって、エラーは発生しません。したがって、ロゴによって破損するコードワードの正確な数は、ロゴとその下にある QR コード モジュールによって異なります。
最善の策は、レベル H の誤り訂正を使用することです。次に、歪みを徐々に増やして、多数のテスト QR コードを作成します。デバッガーで zxing のようなライブラリを使用して、EC 制限によりサンプルが失敗し始めるポイントを検出します。次に、そのサイズのおそらく 75% に戻します。
これは、ほとんどすべての実際の状況で十分なクッションになるはずです。