バーコードの読み取り

このツールで、画像内の様々なタイプのバーコードを一つ以上検知することができます。このツールを追加した場合、現在の処理画像が自動的にスキャンされ、デフォルトで、画像上のすべてのバーコードが読み取られます。

トレーニング

このツールは、トレーニングモードとともに使用されます。 easyTouch および easyTouch+ は実処理モードで現行画像の値を推定するのに使います。画像の中のコードが完全に読めるのかどうか確認するのに使えます。次にトレーニングモードを使って一連の画像の中で最高のパラメーターを決定します。

  1. トレーニング画像として使用する画像がツールに表れるまで「1 回実行」ボタンかショートカット F6 でアプリケーションを段階的に実行します。
  2. ボタンをクリックするか、ショートカット F3 を使用して、トレーニング画像セットに現在の画像を追加します。ツールは、画像内のコードの輪郭候補を自動的にハイライト表示します。
  3. 必要に応じて、コード上に ROI を描画します。
  4. さらにトレーニング画像を追加するには、以上のステップを繰り返します。
  5. 「トレーニングデータを適用」ボタンをクリックしてトレーニングを実施します。トレーニング画像セットのパラメータは、自動的に決まります。さらに、このツールでは、処理モードに自動的に切り替わり、現在の画像に、検出したコードが表示されます。

トレーニングモードが有効の場合、パラメーター「コードタイプ」は自動的に決定されません。処理モードで easyTouch を使用している場合にのみ、自動的に決定されます。

トレーニングを適用する際、特定のパラメーターセットのみが変更されます:

  • 最小要素幅
  • 最大要素幅
  • 最小相対エッジ振幅
  • 最小絶対エッジ振幅
  • 方向
  • 方向許容範囲

対照的に、処理モードが有効の場合、easyTouch の使用時に以下のパラメーターのみが変更されます:

  • コードタイプ
  • 最小バーコード幅
  • 最大要素幅
  • 最小絶対エッジ振幅

他のすべてのパラメーターの選択された値はトレーニング結果に影響を与えます。

トレーニングを確認
  1. 処理画像をクリックして処理モードに切り替えます。
  2. コードが検出されて読み込まれているかを、一連の画像で MERLIC を実行して確認します。
  3. 特定のコードのデコーディッドデータを確認するには、画像内のコード上にマウスポインタを移動します。デコーディッドデータは、ツールチップにただちに表示されます。または、それぞれのツールの結果で、デコーディッドデータを確認することもできます。

ツール構造

ツールボード は、ツールバー の左側のトレーニングエリアと右側のグラフィックウィンドウに分割されます。

トレーニングエリア

グラフィックウィンドウ

ツールボード 左側の最初の画像には、現在読み込まれている画像が表示されます。デフォルトパラメータ設定で読み取りが成功した場合、この段階で、MERLIC は、見つかったすべてのコードのプレビューを出力し、結果を返します。

画像を「処理」から「トレーニング」エリアに転送するには、 ボタンをクリックしてトレーニング画像を選択します。また、さらに画像を追加することもできます。その場合、トレーニング画像として使用する画像が「処理中」に表示されるまでプログラムをシングルステップで実行し、 ボタンを押します。いずれの場合も、「トレーニングデータを適用」ボタンを押して、パラメータをトレーニング画像に適合させます。

その後、同じツール内で、別の画像を使用してパラメーターをテストすることができます。トレーニングが必要なツールの使用方法の詳細については、トピックトレーニングモードの使用を参照してください。

パラメーター

パラメーター「コードタイプ」で選択したコードタイプによっては、コネクターの一部がグレイ表示になります。現在選択されているコードタイプには適用されないため効果がないということです。

基本パラメーター

画像:

このパラメーターは、バーコードを読み取る画像を表します。

色画像をこのツールの入力として使用すると、最初のチャンネル (赤いチャンネル) のみが処理の対象になります。

コードタイプ:

コードのタイプを選択します。デフォルトで自動が選択されます。読み取るコードをクリックし、このコードタイプにパラメーターを設定します。コードタイプを特定のタイプに設定する(可能な場合)とトレーニング結果が向上することがあります。

説明

自動

すべてのコードタイプが検出されて、読み取られます。

2/5 Industrial

2/5 Industrial」タイプのコードが検出されて、読み取られます。

2/5 Interleaved

2/5 Interleaved」タイプのコードが検出されて、読み取られます。

Codabar

Codabar」タイプのコードが検出されて、読み取られます。

Code 39

Code 39」タイプのコードが検出されて、読み取られます。

Code 93

Code 93」タイプのコードが検出されて、読み取られます。

Code 128

Code 128」タイプのコードが検出されて、読み取られます。

EAN-13

EAN-13」タイプのコードが検出されて、読み取られます。

EAN-13 Add-On 2

EAN-13 Add-On 2」タイプのコードが検出されて、読み取られます。

EAN-13 Add-On 5

EAN-13 Add-On 5」タイプのコードが検出されて、読み取られます。

EAN-8

EAN-8」タイプのコードが検出されて、読み取られます。

EAN-8 Add-On 2

EAN-8 Add-On 2」タイプのコードが検出されて、読み取られます。

EAN-8 Add-On 5

EAN-8 Add-On 5」タイプのコードが検出されて、読み取られます。

UPC-A

UPC-A」タイプのコードが検出されて、読み取られます。

UPC-A Add-On 2

UPC-A Add-On 2」タイプのコードが検出されて、読み取られます。

UPC-A Add-On 5

UPC-A Add-On 5」タイプのコードが検出されて、読み取られます。

UPC-E

UPC-E」タイプのコードが検出されて、読み取られます。

UPC-E Add-On 2

UPC-E Add-On 2」タイプのコードが検出されて、読み取られます。

UPC-E Add-On 5

UPC-E Add-On 5」タイプのコードが検出されて、読み取られます。

MSI

MSI」タイプのコードが検出されて、読み取られます。

PharmaCode

PharmaCode」タイプのコードが検出されて、読み取られます。

PharmaCode」は、右から左、または左から右に読み取ることができ、それによって結果が異なります。トレーニングを実施しない場合、easyTouch のみを使用し、「デコーディッドデータ」には両方の結果が含まれます。トレーニングモードでは、左から右への読み取り方向が確立され、1 つの結果が得られます。

GS1 DataBar Omnidir

GS1 DataBar Omnidir」タイプのコードが検出されて、読み取られます。

GS1 DataBar Truncated

GS1 DataBar Truncated」タイプのコードが検出されて、読み取られます。

GS1 DataBar Stacked

GS1 DataBar Stacked」タイプのコードが検出されて、読み取られます。

GS1 DataBar Stacked Omnidir

GS1 DataBar Stacked Omnidir」タイプのコードが検出されて、読み取られます。

GS1 DataBar Limited

GS1 DataBar Limited」タイプのコードが検出されて、読み取られます。

GS1 DataBar Expanded

GS1 DataBar Expanded」タイプのコードが検出されて、読み取られます。

GS1 DataBar Expanded Stacked

GS1 DataBar Expanded Stacked」タイプのコードが検出されて、読み取られます。

GS1-128

GS1-128」タイプのコードが検出されて、読み取られます。

最小要素幅:

このパラメーターは、バーコードエレメントの最小サイズつまりバーとスペースの最小幅を定義します。このパラメーターはピクセル単位で定義され、デフォルト設定値は 2 ピクセルです。低解像度バーコードの場合、この値は 1.5 ピクセルになり、場合によっては 1.2 ピクセルまで減らす必要があります。巨大バーコードには、値を増加し、実行時間を短くし候補を少なくします。

トレーニングが満足する結果を返さない時は、トレーニング後に「最小要素幅」の値を手動で適応することが役に立ちます。

説明

2

これは、デフォルトの最小要素幅です。最小要素幅が 2 ピクセル以上のすべてのシンボルが読み取られます。

1.2 ~ 10

最小要素幅を設定できる値の範囲です。

追加パラメーター

処理領域:

このパラメーターは、処理する領域を定義します。ROI と「処理領域」の結合部分の外側にある画像部分は処理の対象外になります。また、そのどちらかが空の場合、他の一方の内部にある画像部分は処理されます。どちらも空の場合、画像全体が処理されます。

デフォルトで、「処理領域」は空の領域として定義されます。「処理領域」を指定するには、領域が現在のツールに渡されるよう、パラメーターを前のツールの適切な領域結果に接続します。

easyTouch でパラメータ値を決定すると、画像全体が検索対象になります。

ROI:

パラメーター ROI は、コード検知の関心領域 (ROI) を定義します。「ROI」と「処理済み領域」の結合部分の外側の画像部分は処理の対象外になります。また、そのどちらかが空の場合、他の一方の内部にある画像部分は処理されます。どちらも空の場合、画像全体が処理されます。 ただし、easyTouch でパラメータ値を決定すると、画像全体が処理に適用されます。

デフォルトで、「ROI」は空 ROI として定義されます。空でない ROI を処理に使用する場合は、前のツールの適切な ROI 結果にパラメーターを接続するか、使用可能な ROI ボタンで新しい ROI を画像に描画します。

easyTouch でパラメータ値を決定すると、画像全体が検索対象になります。

アライメントデータ:

このパラメータは、ROI のアライメントに使用するアライメントデータを表します。デフォルトでは、アライメントデータが接続されていないため、効果はありません。特定のアライメントデータを使用するには、マッチングによるアライメント直線境界でアライメントを決定画像をアライメント、あるいは 画像を回転 など、パラメータを適切な前のツールの結果に接続します。

コードの予想数:

このパラメーターは画像内にある予想最大コード数を定義します。この番号に達すると、それ以上の候補領域の検索に実行時間は費やされません。デフォルトでは、このパラメーターは (0 ) に設定されます。その場合、すべてのバーコード候補が返ります。ただし、コードが読み取り困難な場合、この設定ではそれらのコードは見つかりません。通常、このパラメーターに設定した値が画像内の実際のコード数未満の場合、それらのコードが読み取りにくければ、それらのコードは見つからないおそれがあります。これは、これらのコードを返すと実行時間が長くなるためです。

画像内のコードのすべてが必要というわけではない場合、実行時間短縮のためにこのパラメーターを利用できます。その場合、予想値を指定すると便利です。数字を指定しても、MERLIC から返るコード数は選択した数字よりも多くなる場合がありますが、これはそうなっても実行時間が延びない場合のみです。

タイムアウト:

このパラメータを使用すると、実行しているツールを、定義された時間 (ミリセカンド単位) 後に中止できます。これは最大サイクル時間を確認する場合に特に有効です。中断の時間的精度は約10msです。精度はコンピュータの速度のような複数の因子に依存します。トレーニングモードではタイムアウトが無視されます。デフォルトタイムアウトは 0 ms です。

説明

0

デフォルトで、タイムアウトは設定しません。

1 ~ 1000

タイムアウト設定の利用できる値範囲はミリ秒単位です。

最小バーコード高さ:

このパラメーターは、最小バーコード高さを定義します。このパラメーター値はピクセル単位で定義され、0 ピクセルに設定されます。このとき、バーコードリーダーが他のパラメーターから妥当な高さを自動的に抽出します。非常に平坦であったり非常に高いバーコードは、このパラメーターを手動で調整しなければなりません。高さ 16 ピクセル未満のバーコードの場合、それぞれの高さはユーザーが設定します。ちなみに、最小値は 8 ピクセルです。バーコードが非常に高い (70 ピクセル以上) 場合、高さを手動で調整すると、その後の検出と読み取りの処理速度が向上します。

説明

0

これが最小バーコード高さのデフォルト値です。すべてのシンボルが読み取られます。

0 ~ 64

これは、最小バーコード高さをピクセル単位で設定できる値の範囲です。

最小バーコード幅:

このパラメーターは、最小バーコード幅を定義します。このパラメーターはピクセル単位で定義され、デフォルト設定値は 0 ピクセルです。バーコードの幅は多くの因子に依存します:

  • カメラの解像度
  • カメラとバーコード間の距離
  • バーコードのタイプ
  • エンコードした文字の数

アプリケーションを通じてこれらのプロパティが一定なら、このパラメーターはスピードと堅牢性を高めるために設定します。デフォルト値は 0 ピクセルです。リーダーはシンボル仕様とパラメーター「最小要素幅」に基づいて最小バーコード幅を推定します。

説明

0

最小バーコード幅のデフォルト値。すべてのシンボルを読み取れる可能性があります。

0 ~ 100

最小バーコード幅をピクセル単位で設定できる値の範囲。

チェックキャラクター:

このパラメーターは、バーコードをオプションのチェックキャラクターで解釈する方法を定義します。デフォルト設定は「なし」ですが、必須チェックキャラクターがあるバーコードタイプは常にこのパラメーターが「あり」に設定されているものとして扱われます。

オプションチェックキャラクターがあるバーコードタイプ。

  • Code 39
  • Codabar
  • 2/5 Industrial
  • 2/5 Interleaved

説明

なし

このツールではチェックキャラクターがないことが前提になります。この場合、チェックは行われません。すべての文字はデータとして返されます。

保護

この値でバーコードを検証できます。データの中のチェックキャラクターは保存します。

あり

この値を選択すると、チェックキャラクターがあることが前提になり、バーコードの正しさをチェックキャラクターで検証します。チェックサムが一致しないとバーコード結果は返りません。チェックキャラクター自体はデータから削除されます。

コンポジットコード:

GS1適合バーコードの大部分は添加された追加2D GS1コンポジットコードコンポーネントを持つことができます。検索されたバーコードシンボルが添加コンポジットコンポーネントを持たない場合、バーコードそれ自体の結果が返されます。現在、コンポジットコードはGS1データバーファミリーのバーコードのためだけにサポートされています。デフォルト設定は「なし」です。

説明

無視

コンポジットコードコンポーネントは無視されます。

CC-A/B

この値を選択すると、コンポジットコンポーネントは発見され、デコードされます。

最大要素幅:

このパラメーターは、バーコードエレメントの最大サイズ (バーとスペースの最大幅) を表します。このパラメーターはピクセル単位で定義され、デフォルト設定値は 8 ピクセルです。二つの隣接するバーコードが一つのものとして混同されないように、十分に低くする必要があります。一方、完全なバーコード領域を発見するために値は十分に高くする必要があります。

説明

8

デフォルト最大要素幅。最大 8 ピクセルの要素幅のすべてのシンボルが読み取られます。

4 ~ 60

最大要素幅を設定できる値の範囲。

要素幅許容範囲:

一部のバーコード画像では、所定のバーコードオブジェクトの中で最小要素サイズが変化します。これらの変形はパースペクティブプロジェクションやバーコードが印刷された表面の変形によって発生します (ボトルのバレル変形など)。デフォルトで、このパラメーターは 0 に設定されます。その場合、バーコードリーダーは以上の変形を処理できません。

状況によっては、バーコード画像を修正できない場合があります。

パラメーター「要素幅許容範囲」は以下のバーコードタイプのみに適用されます:

  • GS1 DataBar Limited
  • GS1 DataBar Expanded
  • GS1 DataBar Expanded Stacked

他のバーコードタイプはこのパラメーターの影響を受けません。

説明

0

ツールは歪みを処理できません。

1

ツールは歪みを補正しようとします。

最小相対エッジ振幅:

このパラメーターは閾値を定義します。これはスキャンラインピクセルの動的範囲に関する相対値です。バーコードのバースペースシーケンスはエッジ位置を測定するスキャンラインで決定されます。これらのエッジを発見するには、前述の閾値が必要です。バーコード領域の障害があったり、ノイズレベルが高い場合、「最小相対エッジ振幅」値を増加しなければなりません。

説明

0.05

これは、最小相対エッジ振幅のデフォルト値です。0.05 以上の相対エッジ幅のすべてのシンボルが読み取れられます。

0.01 ~ 0.2

これは、最小相対エッジ振幅を設定できる値の範囲です。

最小絶対エッジ振幅:

スキャンラインがグレイ値なし、またはグレイ値ダイナミックレンジ最小で画像領域に置かれた時、 (グレイ値255に近い白い領域)、「最小相対エッジ振幅」に基づくエッジ検知閾値は不当に小さく計算されます。この場合、通常、大量の偽エッジが検知されます。「最小絶対エッジ振幅」はそうした誤検知を防止するために使われます。「最小相対エッジ振幅」に基づく閾値が「最小絶対エッジ振幅」の値よりも小さくなったとき、後者が閾値として使われます。デフォルトでは「最小絶対エッジ振幅」が 5 に設定されます。高いノイズレベルの画像にはより大きい値が適当です。一方、コントラストの弱いノイズのない画像ではこのパラメーターによって実際のエッジを検出できなくなるおそれがあります。そのため、値を減らすか、0 に設定して機能を停止します。

説明

5

これは、最小絶対エッジ振幅のデフォルト値です。絶対エッジ幅が 5 以上のすべてのシンボルが読み取れられます。

0 ~ 10

これは、最小絶対エッジ振幅を設定できる値の範囲です。

最小同一スキャンライン:

このパラメーターは、デコードに成功し、同じデータを返すスキャンラインの最小数を表します。これらのスキャンラインはバーコードシンボルが受け入れられるかを決定するのに適当です。パラメーターを 1 に設定すると、バーコードはデコードに成功した最初のスキャンラインでデコードされるものと見なされます。多層コードの場合、それはシンボル行ごとの成功したスキャンラインでなければなりません。

このパラメーターをデフォルトである 2 またはそれ以上に増やすとバーコードを誤って検出するリスクが減るので便利です。このような不具合は、スキャンラインのクォリティが低い場合やノイズが非常に多い画像断片からエッジを誤って抽出した場合や偽エッジを抽出した場合に起こります。このパラメーターを設定すると、他のバーコードシンボルタイプのシンボルがある画像で特定のバーコードタイプを検索するときにも便利です。

説明

2

これは、最小同一スキャンライン数のデフォルト値です。同じスキャンラインが 2 本以上あるシンボルはすべて読み取れられます。

1 ~ 8

これは、最小同一スキャンライン数を設定できる値の範囲です。

方向:

このパラメーターは、予測されるバーコードの向きを表します。幅は度数で定義され、デフォルト設定値は です。潜在的バーコードは同じ方向のバーを持ちます。「方向」パラメーターと「方向許容範囲」パラメーターでは範囲を指定します。このツールはバーの平均方向がこの範囲にあるときだけバーコードを処理します。バーコードが処理された画像の一定の方向に表示されると予測される場合、方向範囲を適切に減らすことができます。これにより、偽候補の早期認識が可能です。実行時間も減ります。この調整は多数のテクスチャーを持つ画像で使えます。これには偽バーコード候補を生じる可能性があるフラグメントが含まれます。

説明

0

これは、バーコードの向きの度数のデフォルト値です。

-90 ~ 90

これは、バーコードの向きを設定できる値の範囲です。

方向許容範囲:

このパラメーターは、バーの方向許容範囲を表します。幅は度数で定義され、デフォルト設定値は 90°です。詳細は「方向」パラメーターの説明を参照してください。その説明にもあるように、向きの適正値の範囲は -90°から 90°でなければなりません。すなわち、90°の「方向許容範囲」で全範囲をカバーできます。そこで、「方向許容範囲」の有効値は、範囲 0°から 90°のみとします。デフォルト値 90°では、バーコード候補に制限は適用されません。

説明

90

これは、バーコードの方向許容範囲のデフォルト値 (単位度、制約なし) です。

0 ~ 90

これは、バーコードの方向許容範囲を設定できる値の範囲です。

クワイエットゾーン:

このパラメーターは、バーコードシンボルのクワイエットゾーンを検証します。有効になると、検知されたバーコードシーケンスの左右のクワイエットゾーンの中で予測されないバーが検知されるとスキャンラインは拒否されます。「クワイエットゾーン」を「読み取り障害なし」に設定すると、クワイエットゾーンには、対応するバーコード規格で指定される幅以上が必要になります。デフォルト設定は「ノイジー」です。

「自動」読み取りモードによるバーコードリーダーの操作では、クワイエットゾーン検証が非常に有効です (「コードタイプ」を「自動」に設定)。シンプルバーコードタイプが長いバーコードを示すバーシーケンスの中や別のコード(通常はより複雑なバーコードタイプ)の中で検知されるのを防止します。

説明

利用不可

クワイエットゾーン検証が無効化されます。

ノイジー

クワイエットゾーンの中のエッジ数は限られます。

この意図はバーコードの一部を検知を防止し、シンプルなクワイエットゾーン侵害を持つバーコードを読み取るためです。

読み取り障害なし

クワイエットゾーンは少なくとも対応するバーコード規格で指定される幅が必要になります。

スタートストップ許容範囲:

スキャンラインのスタートパターンまたはストップパターンそれぞれの検査中に、このパラメーターにより、許容範囲 (1) または厳密な (0) 検索基準が適用されます。処理された画像の中で明白なシンボルが画像化される限り許容範囲が広くなるとバーコードの検知チャンスが増加します。一方、ノイズの多い画像や他のコード法のシンボルを含む画像では偽検知を生じることもあります。許容範囲が狭いと偽検知に対してロバスト性が増しますが、全体的検知率は下がります。現在コード 128 と GS1‑128 のためだけに二つの明白な基準が実施されています。

説明

1

これは、スタートストップ許容範囲のデフォルト値 (耐性) です。

0

厳しい検索基準が適用されます。

UPC E エンコード化:

UPC-Eバーコードでは、様々な出力フォーマットが使えます。デフォルト設定はUCC-12です。

説明

UCC-12

デコードされた文字列は「UCC-12」フォーマット (12桁)で返されます。

ISO/IEC 15420

結果はゼロ消去フォーマットで返されます(定義された箇所でゼロ消去)。

このフォーマットは最初のゼロ、六個のエンコードされた桁、暗黙の内にエンコードされたチェックディジットからなります。これは ISO/IEC 15420 規格が要求するフォーマットに対応します。

結果

基本結果

デコーディッドデータ:

結果として、デコーディッドデータを伴う文字列が返ります。複数のコードを読み取ると、結果はタプルで返ります。タプルエントリは、画像に表示されるときの「行」と「列」の値を基準に保存されます。したがって、複数行を読み取ると、デコードした最初の行のデータが最初に返り、次に 2 行目のデータと、以下同様に返ります。1 行に複数のコードがある場合、テキストのように、次の行が処理されるまで左から右に返ります。

特定のコードのデコーディッドデータは、画像内のコード上にマウスポインタを移動することでも表示されます。このようにして、コードは画像で直接すばやく確認できます。

ツール状態:

ツール状態」はツール状態の情報を返します。したがって、エラー処理に使うことができます。さまざまなツールの状態結果の詳細については、 ツール状態 結果 のトピックを参照してください。

追加結果

抽出輪郭:

この結果では、検出したバーコードの輪郭が返ります。

処理時間:

この結果は、ツールの直近の実行の持続時間をミリ秒単位で返します。結果は、追加結果として提供されます。したがって、デフォルトでは非表示になっていますが、ツール結果の横にある ボタンを使用して表示できます。詳細については、ツールリファレンス概要の処理時間の節を参照してください。

トレーニング結果

基本トレーニング結果

コードタイプ外れ:

この結果では、以下のパラメーターに使用する値が返ります: コードタイプ.この結果は、コードのタイプを選択します。

最小要素幅外れ:

この結果では、以下のパラメーターに使用する値が返ります: 最小要素幅.この結果は、バーコード要素の最小サイズ、すなわちバーとスペースの最小幅を定義します。

追加トレーニング結果

最小バーコード幅外れ:

この結果では、以下のパラメーターに使用する値が返ります: 最小バーコード幅.この結果は、最小バーコード幅を定義します。

最大要素幅外れ:

この結果では、以下のパラメーターに使用する値が返ります: 最大要素幅.この結果は、バーコード要素の最大サイズ、すなわちバーとスペースの最大幅を表します。

最小相対エッジ振幅外れ:

この結果では、以下のパラメーターに使用する値が返ります: 最小相対エッジ振幅.この結果は、しきい値を定義します。これはスキャンラインピクセルの動的範囲を基準にした値です。

最小絶対エッジ振幅外れ:

この結果では、以下のパラメーターに使用する値が返ります: 最小絶対エッジ振幅.この結果は、最小絶対エッジ振幅を定義します。

方向外れ:

この結果では、以下のパラメーターに使用する値が返ります: 方向.この結果は、予想バーコード方向を表します。

方向許容範囲外れ:

この結果では、以下のパラメーターに使用する値が返ります: 方向許容範囲.この結果は、バーの方向の許容範囲を表します。