ReadSingleBarcode

概要

入力画像にある単一のバーコードを検出・認識します。

*本ページはFuture Processing社の許可の下、Adaptive Visionの当該Filter Referenceページを和訳化したものです。

名称 種別 範囲 説明
inImage Image   入力の画像
inRoi Rectangle2D*   関心領域
inRoiAlignment CoordinateSystem2D*   バーコードの長方形を検査対象の位置に調整
inBarcodeFormat BarcodeFormat*   バーコードのフォーマット
inMinGradientLength Real 0.0 - ∞ バーコード検出に使用されるエッジ画素の最小濃淡長
inBaseBarWidth Integer 1 - ∞ 最狭バーの予測幅
inDetectionScanCount Integer 1 - ∞ バーコード検出に使われる走査線の数
inReadingScanCount Integer 1 - ∞ 読み取りが初めて成功するまで実行される並列走査の数
inScanWidth Integer 1 - ∞ 一走査の幅
inMinStrength Real 0.0 - ∞ 抽出したエッジの最小濃度
inSmoothingStdDev Real 0.0 - ∞ 各走査で抽出したプロファイルに適用したガウシアンスムージングの標準偏差
outBarcodePosition Rectangle2DArray   検出したバーコードの位置
outDecodedText StringArray   デコードしたバーコードの内容
outBarcodeFormat BarcodeFormatArray   デコードしたバーコードのフォーマット
outAlignedRoi Rectangle2D   (画像座標内の)変換後の入力ROI
diagGradientImage Image   濃淡方向の画像
diagBarcodeCandidates Rectangle2DArray   追加で調査した高濃淡値の箇所
diagScheduledScanSegments Segment2DArrayArray   スケジュールした走査セグメント

適用事例

典型的なバーコード読取事例向けの簡易オールインワンソリューションとして利用されます。

説明

このフィルタはDetectSingleBarcodeRecognizeBarcodeの組み合わせとして動作します。

ヒント

  • inImageを画像認識フィルタの出力に繋げましょう。
  • 読み取りたいコードの種別に応じてinFormatを選択しましょう。間違ったフォーマットを選択すると、コードは認識されません。値をAuto(自動)に設定すると算出時間を大幅に増加させることになりえます。また、Autoの値にするとUPC-AコードをEAN-13コードとして検出してしまいます。
  • 画質が低い場合、inMinGradientLengthを増やすか、inSmoothingStdDevを増やしましょう。diagGradientImage出力は中間画像にどのように作用するかを表します。
  • 画像の解像度が高い場合、inBaseBarWidthを増やすか入力画像のサイズを変更またはダウンサンプリングしましょう。

このフィルタの用途は次の事例集とチュートリアルにも説明があります:Barcodes (EAN13), Barcodes (EAN8), Barcodes (Code128), Barcodes (Code39), Barcodes (EAN13 Addon2), Barcodes (EAN13 Addon5), Barcodes (Interleaved2of5), Read the Barcode(いずれも作成中)。

 

(左)回転したバーコード (右)プラスチックシートに印字された低品質のバーコード

 

(左)シュリンク包装のバーコード (右)ぶれた画像のバーコード

 

(左)一般的な330ml缶のバーコード (右)反射するシュリンクにあるバーコード

 

(左)本の出版情報を表示するアドオン2桁付EAN-13 (右)価格提示用のアドオン5桁付EAN-13

注記

バーの最小幅に関する要件

バーコードを正確に検出できるよう、バーの一番細い幅が少なくとも1.5ピクセルあるようにして下さい。

バーコードのフォーマットに応じて、ガードパターンか開始・終了コードパターンが読み取れるようにする必要があります。

ファーマコードの使用

ファーマコードのバーコード種別はどちらの方向でも正しく読み取れます。両方向から結果を得られるようにするには、Pharmacode及びPharmacodeInversedのバーコード種別を使用して下さい。

ファーマコードをデコードする前に、コードの傾きの角度が-45°から135°の範囲で標準化されます。これによりデコードがより安定します。

Pharmacode = 23及びPharmacodeInversed = 16としてファーマコードを別々の方向から読み取った結果

相対座標体系の使用

ローカル座標体系の詳細情報に関してはこちらの記事(作成中)を参照して下さい。

ハードウェアアクセラレーション

この操作はマルチコアとマルチプロセッサシステムの自動並列化に対応しています。

難易度

このフィルタはベーシックの難易度でご利用頂けます。

フィルタグループ

このフィルタはReadBarcodesフィルタグループのメンバーです。

関連フィルタ

    • Adaptive Visionのサイトが開きます
    • サンプル・デモ機のお申し込み
    • メールでのお問い合わせはこちら
    • お問い合わせフォーム