2D バーコードと 1D バーコード - 速度、精度、サイズ
質問
モバイル プロジェクトの要件の 1 つとしてバーコードを実装したいと考えていました。保存されるデータの量は非常に少量です (英数字 25 文字未満)。このプロジェクトでは 1D バーコードと 2D バーコード (特に Qr コード) のどちらを実装するのが賢明なのか知りたいです。誰かが 1D と 2D の観点から次の点について教えてくれると本当に嬉しいです。
- スキャン速度
- サイズ (モバイルカメラが認識するために必要な最小ディスプレイサイズ -- これはより重要です)
- 正確さ
一般的な処理と SDK の観点から検討します (zxing が望ましい)。
解決
特に携帯電話のカメラを使用する予定がある場合は、QR コードを使用することをお勧めします。qrコードには、遠近補正などをより簡単・確実に行う機能(ファインダー)が備わっています。また、誤検出を排除し、さまざまな量のビット検出エラーを修正できる ECC も備えています。zxing テスト スイートを見ると、多くの 1D コードにはチェックサムさえないため、多数の 1D 誤検知ケースが見つかります。
何をスキャンしようとしているのかがわかっていれば、どちらの場合でも速度はおそらく問題になりません。zxing で最も大きな計算コストがかかるのは、何を探しているのかわからないときに、考えられるすべてのコードを調べることです。コードの種類がわかっている場合は、大きな違いはないと考えられます。
サイズに関する唯一のことは、キャプチャする必要があるピクセル数です。つまり、小さなコードでもカメラをコードに近づければ読み取ることができます。大きなコードを遠くからでも読み取ることができます。これらはすべて、光の状態、カメラのフォーカス (またはフォーカスの欠如)、およびカメラの明るさの調整によって左右されます。ただし、これらのいずれかが 1D と 2D にどのような影響を与えるかはわかりません。