倉庫内の製品をカメラでスキャンする場合、生産ライン上の部品、レジのアイテムをスキャンする場合など、バーコード スキャン アプリケーションでは速度が重要です。
VintaSoft Barcode .NET SDK は、デフォルトで使用される自動バーコード認識モードを提供します。自動バーコード認識モードは、あらゆる状況でのバーコード認識のために認識品質を優先するようにバランスが取れています。
また、
VintaSoft Barcode .NET SDK は手動バーコード認識モードを提供します。このモードには多くの特殊な設定があり、特定の状況ごとに最大のパフォーマンスやバーコード認識品質を実現できます。
以下では、
VintaSoft Barcode .NET SDK 設定を詳細に調整することで、さまざまな状況でバーコードの読み取りを高速化できる方法について説明します。
手順 1. 基本 (一般) スキャン設定を定義します。
これらの設定は、すべての種類のバーコードの認識速度に影響します。
バーコードの種類を設定します。
バーコードの種類またはバーコードのサブセットの種類を設定します。
reader.Settings.ScanBarcodeTypes = BarcodeType.QR | BarcodeType.DataMatrix;
reader.Settings.ScanBarcodeSubsets.Add(BarcodeSymbologySubsets.GS1_128);
バーコードの予測数を設定します
画像内で予想されるバーコードの数を設定するには、
ReaderSettings.ExpectedBarcodes プロパティを使用します。
認識モードを設定します
認識モードはバーコード認識速度に最も大きく影響します。VintaSoft Barcode Reader には、さまざまな状況で使用される 4 つの認識モードがあります:
-
自動 (デフォルト)。 このモードでは設定は必要なく、認識品質を優先して速度を犠牲にします。 認識速度は、バーコードを含む画像の品質に直接依存します。 このモードは、画像とバーコードのパラメータが不明な場合 (照明の変化や不均一、ぼやけ、バーコードのサイズが不明など) に適しています。
reader.Settings.AutomaticRecognition = true;
-
反復。このモードは、バーコードの照明が変化したときに使用されます。二値化の上限しきい値と下限しきい値、および反復回数を設定します。認識速度は、反復回数と二値化の上限しきい値と下限しきい値の適切な選択に依存します。
reader.Settings.AutomaticRecognition = false;
reader.Settings.ThresholdMode = ThresholdMode.Iterations;
reader.Settings.ThresholdMin = 100;
reader.Settings.ThresholdMax = 600;
reader.Settings.ThresholdIterations = 6;
-
自動しきい値。このモードは、バーコードの照明が変化したときに使用されます。バーコードは通常の変調(白黒で構成されている)です。認識速度は画像の品質に関わらず一定です。
reader.Settings.AutomaticRecognition = false;
reader.Settings.ThresholdMode = ThresholdMode.Automatic;
-
手動しきい値。このモードは、カメラが生産ラインにインストールされている場合など、バーコードの照明が変化しない場合に使用します。ReaderSettings.Threshold プロパティを使用して 2 値化しきい値を設定します。認識速度は画像の品質に関係なく一定になります。
reader.Settings.AutomaticRecognition = false;
reader.Settings.ThresholdMode = ThresholdMode.Iterations;
reader.Settings.Threshold = 450;
画像内のバーコードのサイズを確認します
1次元バーコードの品質が良く、高さが大きい場合は、プロパティ
ReaderSettings.ScanInterval を使用してスキャン間隔を増やしてください。
画像上のバーコードの位置を指定します
画像上のバーコードがどの四角形に配置されているかわかっている場合は、プロパティ
ReaderSettings.ScanRectangle を使用して四角形の座標を指定してください。
ステップ 2: 詳細設定。
VintaSoft は、バーコード認識エンジンに対する高度な制御を提供することでさらに進化しています。これにより、VintaSoft Barcode Reader は他のベンダーが提供していないパフォーマンス上の利点を備え、さまざまな環境で比類のない速度を提供します。
バーコードモジュールのサイズを決定します
画像に、1つのモジュールが6ピクセルを超えるバーコードが含まれている場合は、
ReaderSettings.ImageScaleFactor プロパティを使用して、1つのモジュールのサイズが3~6ピクセルの範囲になるように画像を縮小してください。これにより、バーコード認識速度が大幅に向上します。
マルチスレッド処理
VintaSoft Barcode Reader は、デフォルトでマルチスレッド処理を使用します。プロパティ
ReaderSettings.MaximumThreadCount を使用して、使用するスレッドの数を変更できます。
2値化の微調整
VintaSoft Barcode Readerは、
高速と
高品質(デフォルト)の2つの適応型二値化モードを提供します。画像内のバーコードが均一な照明である場合は、適応型二値化の高速モードを使用してください。
reader.Settings.AdaptiveBinarizationType = AdaptiveBinarizationType.Fast;
スキャンするバーコードの種類に応じてスキャン設定を定義します
ステップ3:速度を最大化するための追加対策
- バーコード認識時間を制限するには、ReaderSettings.RecognitionTimeoutプロパティを使用してください。
- 認識用にBarcodeReaderクラスのインスタンスを1つ作成し、複数回使用してください。異なる画像の認識を複数のスレッドで実行する場合は、スレッドごとに BarcodeReader クラスのインスタンスを 1 つ使用します。
- 可能な限り画像のエンコード/デコードは避けてください。画像のピクセルデータがメモリ内にある場合(カメラなどから)、画像認識のソースとして以下を使用します。
- VintaSoft Barcode Readerをお客様のタスクに合わせてカスタマイズするための個別の推奨事項については、当社の専門チームにお問い合わせください。
結論:あらゆる状況で高速バーコードスキャン
VintaSoft バーコードリーダーは、暗い場所や不均一な照明、ぼやけた画像、複雑なレイアウト、歪んだ画像など、困難な状況でも高速に動作するように設計されています。バーコードスキャンプロセスの詳細な設定により、アプリケーションで次のことが可能になります。
- 優れたユーザーエクスペリエンスのために瞬時にスキャンを提供
- 一貫したバーコード認識品質を維持
- ニーズに合わせてスキャン速度を調整
- モバイル、組み込み、または高性能システムにとって重要なハードウェア負荷を軽減