ReadIDMax
対象領域内の 1D または 2D シンボル (1D/スタックド、データマトリックス、QR コード、および郵便番号) を検出し、デコードします。この関数を設定して、さまざまなシンボルと多くの結果を取得し、極度の回転および遠近歪みでも処理することができます。オプションで、データマトリックスと QR コードモデルの登録、および品質測定の検証にも使用することができます。
ReadIDMax概要
ReadIDMax 関数を使用して、1D および 2D シンボルを探してデコードします。
1D シンボル
ReadIDMax 関数は、同じ画像内で、次のタイプの 1D シンボルを含む複数の 1D シンボルのデコードをサポートしています。
- Code 128
- UPC/EAN
- Code 39
- Code 93
- Interleaved 2 of 5
- Codabar
- Pharmacode
- DataBar
- PDF417
- EAN.UCC Composite
- POSTNET
- PLANET
- Japan Post
- Australia Post
- UPU
- Intelligent Mail Barcode
2D シンボル
ReadIDMax 関数は、2D データマトリックスおよび QR コードのシンボルを探してデコードすることができます。この関数は複数の 2D シンボルを探すことができますが、1D シンボルとは異なり、すべてのシンボルが同じシンボルタイプである必要があります。例えば、画像にデータマトリックスと QR コードのシンボルが混在しており、この関数の [シンボルグループ] パラメータが [データマトリックス] に設定されていた場合、QR コードシンボルは無視され、データマトリックスのシンボルのみが返されます。
この関数を登録して、シンボルのグリッドサイズのサイズ、およびシンボルが含んでいるデータの精度を検証するためにシンボルが使用する、2D シンボルタイプおよびエラーのチェックと修正 (ECC) の方法を確立することによって、同じタイプの 2D シンボルをデコードすることができます。
ReadIDMax 関数を登録すると、特にデコードするすべてのシンボルが同じ品質を共有するときにはパフォーマンスが向上しますが、関数を登録しない場合は、より幅広い種類のシンボルをデコードすることができ、再構成する必要もありません。
1D/2D 画像要件
ReadIDMax 関数は、1D シンボルをスキャンする場合には最小構成を必要としますが、次のガイドラインを入力画像に使用する必要があります。
-
すべてのシンボルは 50 ピクセルよりも大きい必要がありますが、どのモジュールの最大幅も 10 ピクセルを超えることはできません。
注 : モジュールはシンボルの最も狭いエレメントです (スペースまたはバーのいずれか)。 - リニアシンボル (モジュールの幅は異なりますが、高さは均一です) の場合、モジュールの幅は 1.6 ピクセル以上、高さは 50 ピクセル以上である必要があります。ポスタルコード (モジュールの幅は均一ですが、高さは異なります) の場合、モジュールの幅は 2.5 ピクセル以上である必要があります。
- クワイエットゾーン (マークを含んでいないシンボルのいずれかの端の領域) は、シンボルタイプの印刷仕様で指定された最小サイズ以上で存在する必要があります。
- モジュールと背景間のコントラストは、32 グレーレベル以上である必要があります。
- ピクセルアスペクト比は、1.35 対 1 より大きくすることはできせん。
2D シンボルでの画像の要件は少な目です。通常は、シンボルの 4 つすべてのサイドを取り囲むクワイエットゾーン (つまりマージン) が存在する必要があり、シンボル自体の内部の 1 つのモジュールの幅と等しくなっています。
IDMax と IDQuick
ReadIDMax 関数は、アルゴリズムのデコードに関して次の 2 つの処理モードを提供します。
- 形が整いハイコントラストで表示されるシンボルを高速でデコードする場合は、IDQuick 関数を選択します。
- 難易度の高い画像に対して、高度な画像処理および画像解析技術を必要とする場合は、IDMax 関数を選択します。
デフォルトでは、この関数は IDMax モードを使用しますが、アプリケーションで関数のパフォーマンスにどのように影響するか判定するには、IDQuick で試してみてください。
結果
検出されてデコードされたシンボルのみが結果を生成します。画像内の各シンボルについて、ReadIDMax 関数はデータアクセス関数によって次の結果を生成します。
- デコードされた文字列
- 検出されたシンボルの角度 (度単位)
- シンボルの中心の位置 (行/列)
- シンボルの特定のコード
- 業界標準に従ってシンボルを一意に識別するための、ISO/IEC のコードおよび修飾子
ReadIDMaxの入力パラメータ
Syntax:ReadIDMax(画像,フィクスチャ.行,フィクスチャ.列,フィクスチャ.角度,領域.X,領域.Y,領域.高さ,領域.幅,領域.角度,シンボルグループ,最大結果,詳細デコードモード,登録の有効化,1D シンボル.Code 128,1D シンボル.Code 128,1D シンボル.I2of5,1D シンボル.Pharmacode,1D シンボル.UPC/EAN,1D シンボル.Code 128,1D シンボル.Codabar,スタックドシンボル.PDF 417,スタックドシンボル.DataBar,スタックドシンボル.DataBar リミテッド,スタックドシンボル.DataBar Expanded,スタックドシンボル.EAN.UCC コンポジット,ポスタルシンボル.POSTNET,ポスタルシンボル.PLANET,ポスタルシンボル.Japan Post,ポスタルシンボル.Australia Post,ポスタルシンボル.UPU,ポスタルシンボル.インテリジェントメールバーコード,デコード設定.遠近補正,デコード設定.QRモード,デコード設定.極性を無視,デコード設定.フレキシブルグリッドサイズの許容,デコード設定.チェックサム,デコード設定.極性,デコード設定.全方向読み取り,デコード設定.ソートモード,デコード設定.同一 1D シンボルの許容,デコード設定.Expand UPC-E,照合,タイムアウト,表示)
画像 |
このパラメータは、スプレッドシートで画像データ構造体を含むセルを参照する必要があります。デフォルトでは、このパラメータは、AcquireImage 画像データ構造体を含むセル A0 を参照しています。また、このパラメータは、ビジョンツールのグラフィックス関数によって返された、そのほかの画像データ構造体も参照できます。 注 : カラーの In-Sight ビジョンシステムを使用している場合、この関数は、カラー画像をグレースケールに変換する画像処理関数 (例えば ColorToGreyscaleFilter) を参照する必要があります。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
フィクスチャ |
フィクスチャ入力、またはビジョンツール関数の画像座標系の出力に関連する対象領域 (ROI) を定義します。フィクスチャに関連する ROI を設定すると、フィクスチャが回転または移動した場合に、フィクスチャに対応して ROI を確実に回転または移動できます。 デフォルト設定は画像の左上隅で、(0, 0, 0) になります。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
領域 |
これは対象領域 (ROI) とも呼ばれ、解析の対象となる画像の領域を表します。変換および回転可能な矩形の画像領域を作成します。このパラメータを選択して、プロパティシートのツールバーにある [領域の最大化] ボタンを押すと、画像全体が対象になるように領域が自動的に拡張されます。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
シンボルグループ |
読み取りの対象となるコードグループを 4 種類の中から 1 つ指定します。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
最大結果 |
配置してデコードするシンボルの最大数 (1 ~ 128、デフォルト = 1) を指定します。 注 : このパラメータの指定された値が ROI 内のシンボル数を超える場合でも、この関数は指定された数のシンボルの検索を続行します。ROI 内のシンボルの数が変化する場合、[タイムアウト] パラメータ設定を低くすることで、関数の実行時間を短縮することができます。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
詳細デコードモード |
データマトリックス、または 1D/スタックドコードグループのデコードに使用する設定を指定します。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
登録の有効化 |
有効な場合、最初に読み込まれたデータマトリックスまたは QR コードのシンボルのモデルを登録します。この関数を登録すると、特にデコード対象のすべてのシンボルが類似する特性を共有する場合に、パフォーマンスを向上させることができます。 登録情報は、このチェックボックスをオフにするまで保持されます。シンボルを保持するには、チェックボックスをオフにしてから、再度オンにしてください。 ヒント : 登録が有効にされている場合、領域内のシンボルは 1 つのみにすることを推奨します。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1D シンボル |
読み取りの対象となる 1D コードを指定します (複数のコードを選択して、読み取ることができます)。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
スタックドコード |
読み取りの対象となるスタックドコードを指定します (複数のコードを選択して、読み取ることができます)。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ポスタルシンボル |
読み取りの対象となるスタックドコードを指定します (複数のコードを選択して、読み取ることができます)。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
デコード設定 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
照合 |
印刷品質テスト (品質検証測定ともいいます) を実行するかどうかを指定します。
注 :
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
タイムアウト |
関数が有効な ID シンボルを検索する時間をミリ秒単位で指定します (0 ~ 30000)。この時間が経過すると、処理は中止され、#ERR が返されます。値を 0 に設定すると設定値が無効になり、タイムアウトは適用されません。 注 : ReadIDMax 関数の実行時間が、指定されたタイムアウト時間を超えることがあります。この場合には、超過分を考慮してタイムアウト時間を小さく設定してください。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
表示 |
画像上の ReadIDMax グラフィックスオーバレイの表示モードを指定します。 注 : [表示] パラメータは、データマトリックスシンボルと QR コードシンボルに対してのみ実装されます。
|
ReadIDMaxの出力
戻り値 | デコードされた英数字文字列を含む IDMax データ構造体。入力パラメータが無効であれば #ERR を返します。 |
結果 |
この関数が最初からセルに挿入されている場合、結果テーブルはこのスプレッドシートに挿入されます。結果テーブルに返されるインデックス付き文字列の数は、[最大結果] パラメータに入力された値と同じです。シンボルを配置してデコードできない場合、#ERR が返されます。 注 : データマトリックスシンボルの場合、Base 256 ラッチ文字 (10 進数 231、16 進数 E7) によってエンコードされたデータは、(ISO/IEC 16022 データマトリックス仕様に従い) バイト単位で処理されます。GetStringIDMax 関数を使用して、エンコードされたデータを返します。
|
ReadIDMaxデータアクセス関数
[照合] チェックボックスを OFF にした ReadIDMax 関数をスプレッドシートに配置すると、データアクセス関数が 1 つだけスプレッドシートに自動挿入されます。
文字列 | GetString(ID 最大, [インデックス]) | インデックス付きシンボル内でエンコードされている英数字文字列を返します。 |
[照合] チェックボックスを ON にした場合 (関数は追加の品質検証測定を実行します)、ReadIDMax 関数をスプレッドシートに配置すると、自動的にデータアクセス関数が挿入されます。データアクセス関数の組み合わせは、選択したコードグループによって変わります。ReadIDMax データアクセス関数を使用して、そのほかのデータの取得ができます。
- ReadIDMax 関数をスプレッドシートに配置した後で [照合] チェックボックスを ON にしても、データアクセス関数は自動挿入されません。手動でセットしたデータアクセス関数を実行するには、[照合] チェックボックスを ON にしてください。
- データマトリックスのシンボルをデコードしている場合は、GetString 関数ではなく GetStringIDMax 関数を使用すると、デコードされたシンボルに関してより精度が高く詳細な情報を取得することができます。