ReadIDCode
1D および 2D のバーコードおよびシンボルに含まれている情報をデコードし、必要に応じて品質を検証します。
注 :
- ReadIDCode 関数は、In-Sight ファームウェア 4.x.x を搭載した In-Sight ビジョンシステムでのみ使用可能です。In-Sight ファームウェア 5.1.0 以上を実行する In-Sight ビジョンシステムでは使用できません。モデル一覧およびサポートされているファームウェアバージョンについては、「ファームウェアバージョン」を参照してください。
- レガシー関数である ReadIDCode 関数の代わりに ReadIDMax 関数を使用することを推奨します。ReadIDMax 関数には拡張性能機能が搭載されています。
ReadIDCodeの入力パラメータ
Syntax:ReadIDCode(画像,フィクスチャ.行,フィクスチャ.列,フィクスチャ.角度,領域.X,領域.Y,領域.高さ,領域.幅,領域.角度,コード種類,デコード設定.チェックサム,デコード設定.全方向読み取り,デコード設定.スキャン,デコード設定.コントラスト,デコード設定.シンボルフォーマット,デコード設定.行数,デコード設定.列数,デコード設定.スケール許容,デコード設定.カラー,デコード設定.ミラー,デコード設定.アルゴリズム,デコード設定.モード,デコード設定.遠近補正,デコード設定.QRモード,照合,タイムアウト,表示)
画像 |
このパラメータは有効な画像データ構造体を含んでいるスプレッドシートのセルを参照している必要があります。デフォルトで参照されるセルは A0 で、このセルに AcquireImage 関数によって返される 画像データ構造体が含まれています。 |
フィクスチャ |
入力領域を定義する画像座標系を指定します。
行 |
画像座標での行オフセット |
列 |
画像座標での列オフセット |
角度 |
画像座標での角度 |
|
領域 |
移動および回転可能な矩形の画像領域を指定します。
X |
フィクスチャ座標での原点の X オフセット。 |
Y |
フィクスチャ座標での原点の Y オフセット。 |
高さ |
領域の X 軸に沿った寸法。
注 : ReadIDCode 関数でサポートされる最大領域のサイズは 2048 ピクセル (高さ) × 2048 ピクセル (幅) です。[高さ] または [幅] パラメータを 2048 ピクセル以上に設定すると、#ERR を返します。
|
幅 |
領域の Y 軸に沿った寸法。
注 : ReadIDCode 関数でサポートされる最大サイズは 2048 ピクセル (高さ) × 2048 ピクセル (幅) です。[高さ] または [幅] パラメータを 2048 ピクセル以上に設定すると、#ERR を返します。
|
角度 |
フィクスチャ座標での角度。 |
|
注 : [フィクスチャ] および [領域] パラメータは、画像の範囲内で定義されている必要があります。画像の範囲内で定義されていない場合、この関数は #ERR を返します。
|
コード種類 |
読み取りの対象となる 1D シンボルと 2D シンボルの種類を指定します。
注 :
- 選択したコード種類に適用されないデコード設定は、グレーアウトされます。
- 郵便デコードアルゴリズムは、初期画像処理の段階で [Region.Angle] の値を使用します。画像内でバーコードが完全に水平である場合、[全方向読み取り] パラメータが OFF のときに、[角度] の値が 0 で動作が最適化されます。画像内でバーコードが完全に垂直である場合は、動作を最適化するために [領域] を ±90 度回転させる必要があります。
- GS1 コードはすべてサポートされています。詳細については、www.gs1.org を参照してください。
255 = 自動 |
シートが更新されるたびに、領域内のすべてのシンボルを実行することによってデコードし、最初にデコードに成功したシンボルを選択します。後続するスプレッドシートの更新では、デコードに成功した最新のコード種類のデコードを最初に試みてから、そのほかのコード種類を試みます。
コード種類を試みる順序
- 最も新しくデコードされたコード種類 (存在する場合)
- データマトリックス
- RSS CC-A
- RSS CC-B
- PDF417
- QR コード
- マイクロ QR コード
- RSS14 & スタックド
- RSS リミテッド
- UPC
- EAN
- Code 128
- POSTNET
- PLANET
- UPU 4-State
- Australia 4-State
- Japan 4-State
- USPS OneCode 4-State
- Code 39
- Code I2of5
- Code 93
- Codabar (NW-7)
注 : 「自動」では、PharmaCode バーコードはデコードされません。
|
-1 = 学習 (デフォルト) |
コード種類を学習します。このパラメータには、最初にデコードされたコード種類が再実装されます。
注 : 「学習」では、PharmaCode バーコードはデコードされません。
ヒント :
- シンボルが学習されると、「コード種類」パラメータには、そのシンボルのコード種類が表示されます。実行中のモードが学習モードであるかどうかを確認するには、空のスプレッドシートセルに、ReadIDCode 構造体を参照する GetLearned データアクセス関数を入力します。1 が返された場合、この関数は学習モードで実行されています。
- シンボルの形式が変更されると想定される場合は、コード種類が同じであったとしても、学習モードでは実行しないでください。学習設定は、最初にデコードされたシンボルの形式 (コード種類、極性、形式、モジュール、サイズなど) を記憶しています。新しいシンボルの形式のいずれかが学習されたコードから変更された場合、コード種類が同じでも、読み取りは失敗します。シンボル形式の学習を解除しても同じコード種類を維持するには、別のコード種類を一度選択してから正しいコード種類を選択しなおす必要があります。形式が変化するシンボルを ReadIDCode 関数がデコードできるようにするには、コード種類を自動に設定します。シンボルの変化が予想されない場合は、特定のシンボルを選択します。
- [アルゴリズム] パラメータが ON のときに [学習] を選択すると、デコード時間が長くなる可能性があります。
- ここを
クリックして、コード種類の再学習をプログラムで行う例を参照してください。1.セル A1 にボタンを作成します。 2.セル A2 に式 If(A1,255,-1) を挿入します。 3.画像内に表示されるシンボルなしで ReadIDCode を作成します。 4.ReadIDCodeの「コード種類」パラメータがセル A2 を参照するようにします。 5.セル A1 のボタンをクリックして、ReadIDCode 関数に再学習 (学習解除してからの再学習を含む) させます。
|
0 = Code 39 |
Code 39 (別名 Code 3 of 9 および BC39) の読み取りを選択します。 |
1 = Code 128 |
Code 128 の読み取りを選択します。コードセット A、B、および C のバーコードをサポートします。 |
2 = Code I2of5 |
I2of5 (Interleaved 2 of 5含む) の読み取りを選択します。 |
3 = UPC |
UPC (Universal Product Code含む) の読み取りを選択します。バージョン A (標準バージョン含む) およびバージョン E (ゼロ抑制バージョン含む) の UPC バーコードと、2 文字および 5 文字の補足コードをサポートします。 |
4 = EAN |
EAN (European Article Numbering含む) の読み取りを選択します。EAN-8 および EAN-13 バーコードと同時に、2 文字および 5 文字の補足コードがサポートされています。 |
7 = PharmaCode |
PharmaCode の読み取りを選択します。
|
5 = POSTNET |
POSTNET の読み取りを選択します。 |
6 = PLANET |
PLANET の読み取りを選択します。 |
9 = RSS-14 & スタックド |
RSS-14 (Reduced Space Symbology含む) および RSS スタックドの読み取りを選択します。 |
10 = RSS リミテッド |
RSS リミテッドの読み取りを選択します。 |
12 = Codabar (NW-7) |
Codabar (USD-4 および Code 2 of 7 含む) の読み取りを選択します。 |
11 = Code 93 |
Code 93 の読み取りを選択します。 |
8 = UPU 4-State |
UPU 4-State の読み取りを選択します。 |
13 = Australia Post 4-State |
Australia Post 4-State の読み取りを選択します。 |
14 = Japan Post 4-State |
Japan Post 4-State の読み取りを選択します。 |
15 = USPS OneCode 4-State |
USPS OneCode 4-State の読み取りを選択します。 |
128 = データマトリックス |
データマトリックスの読み取りを選択します。
注 :
- 読み取りの対象となるデータマトリックスシンボルの種類を指定するには、データマトリックスパラメータを使用します。
- [アルゴリズム] パラメータが有効な場合は最大 144 × 144 のグリッドがサポートされ、無効な場合は最大 48 × 48 のグリッドがサポートされます。
|
129 = QR |
QR コードの読み取りを選択します。
注 : 読み取りの対象となる QR シンボルの種類を指定するには、 QR パラメータを使用します。
|
130 = RSS CC-A |
2D CC-A (コンポジットコンポーネント含む) の読み取りを選択します。 |
131 = RSS CC-B |
2D CC-B (コンポジットコンポーネント含む) の読み取りを選択します。 |
132 = PDF417 |
PDF417 の読み取りを選択します。 |
|
デコード設定 |
1D および 2D シンボルのデコードに使用される設定を指定します。
注 : 選択した コード種類に適用されないデコード設定は、グレーアウトされます。
チェックサム |
信頼性を保証するためにエラー検出アルゴリズムを使用してシンボルを検証するかどうかを指定します。チェックサムは、シンボルに含まれるオプションのチェックサムアルゴリズムを備えたシンボルのみに適用されます。各シンボルは、固有のチェックサムアルゴリズムを備えています。使用されるチェックサム (使用可能な場合含む) のタイプは、選択したコードのタイプによって異なります。
0 = OFF (デフォルト) |
チェックサムを検証しません。 |
1 = ON |
チェックサムの検証に合格する必要があります。 |
注 : Code 128、Code 93、RSS、UPC、および EAN バーコードは、パラメータの選択にかかわらず、チェックサムによって検証されます。その他のバーコードで [チェックサム] を ON にし、チェックサムがエンコードされていない場合、読み取りに失敗します。
|
全方向読み取り |
バーコードのエレメントをすべて検出するために、領域内に抽出されるスキャンラインの方向を指定します。デコードを成功させるには、バーコードのすべてのエレメント間で、少なくとも 1 つのスキャンラインを抽出する必要があります。
0 = OFF |
スキャンラインが 1 つの角度で抽出され、領域に対して平行なバーコードが検出されます。 |
1 = ON (デフォルト) |
スキャンラインが複数の角度で抽出され、領域に対して回転しているバーコードが検出されます。 |
注 : 領域から 90 度以上回転していると、PharmaCode バーコードは正しくデコードしません。
|
スキャン |
領域内で抽出された各スキャンライン間で、スペースをピクセル単位で指定します。[高精度] が選択された場合、バーコードは高精度で読み取られます。[粗いモデル] が選択されると、実行時間が短縮されます。最大で領域の高さまでで、1 ~ 255 の整数値を入力することもできます。
3 = 高精度 |
|
12 = 中程度 (デフォルト) |
|
48 = 粗粒度 |
|
注 : 1D シンボルに対して、 [全方向読み取り] が ON の場合は、[スキャン] パラメータは無効になります。
|
コントラスト |
予想されるシンボルのコントラストを指定します。
0 = 自動 (デフォルト) |
自動コントラストルーチンを選択し、グレースケール画像統計に基づいてしきい値を計算します。 |
16 = 低 |
低コントラストのシンボル用です。 |
32 = 標準 |
通常のコントラストのシンボル用です。 |
64 = 高 |
高コントラストのシンボル用です。 |
注 : [コントラスト] パラメータは、ポスタルおよび RSS コードでのみ有効です。
|
シンボルフォーマット |
シンボルの行および列のフォーマットを指定します。シンボルフォーマットが無効 (デフォルト含む) の場合、シンボルフォーマットは自動的に決定されます。有効になっている場合は、行数および列数を指定する必要があります。
注 : [シンボルフォーマット] パラメータは実装されていません。
|
行 |
シンボル内の行数を指定します。
注 : [行数] パラメータは実装されていません。
|
列 |
シンボル内の列数を指定します。
注 : [列数] パラメータは実装されていません。
|
スケール許容 |
シンボルサーチ時に許容するスケール変化の割合 (% 含む) を指定します (0 ~ 50、デフォルト = 0)。
注 : [スケール許容] パラメータは実装されていません。
|
カラー |
シンボルの色を指定します。
0 = 黒 |
シンボルは背景よりも暗くなります。 |
1 = 白 |
シンボルは背景よりも明るくなります。 |
注 : [カラー] パラメータは、1D RSS シンボルに対してのみ実装されます。
|
ミラー |
デコードする前に、シンボルモデルを左から右への鏡像にするかどうかを指定します。
0 = いいえ
|
鏡像にしないでシンボルをデコードします。
|
1 = はい
|
デコード前にシンボルを鏡像にします。
|
2 = 自動 (デフォルト)
|
デコードを試みる前にシンボルを鏡像にする必要があるかどうかを自動的に検出します。
|
|
アルゴリズム |
読み取り精度を向上させるために、高度なアルゴリズムを使用するかどうかを指定します。
注 : [アルゴリズム] が ON の場合、最小バーエレメントの幅が 10 ピクセル以上を超える 1D バーコードがデコードできないことがあります。
0 = OFF |
高度なアルゴリズムを使用しません。無効になっている場合、この関数は、レガシー ID 関数で使用されていたアルゴリズムを適用します。このアルゴリズムを使用する場合、デコード速度は向上する可能性がありますが、精度が劣る可能性があります。 |
1 = ON (デフォルト) |
高度なアルゴリズムを使用してデコードを行います。このアルゴリズムは、レガシーアルゴリズムよりも高精度ですが、デコード速度は低下する可能性があります。これが ON のとき、データマトリックスおよび RSS シンボルは、IDMax® を使用してデコードされます。 |
|
モード |
特定のシンボルを読み取るために使用するモードを指定します。
0 = デフォルト |
非整合データマトリックスシンボルの読み取りは行われません。 |
2 = 非整合モジュールを許可 |
非整合データマトリックスシンボルを読み取り、デコードオプションを試行するための時間を追加します。
注 :
- コード種類でデータマトリックスシンボルをデコードするには、[自動]、[学習]、または [データマトリックス] を選択する必要があります。また、[アルゴリズム] パラメータを ON にする必要があります。
- データマトリックスシンボルのモジュールがハローやそれに類する外観を示している場合は、このオプションを選択します。
|
3 = 高速/高コントラスト |
高コントラストデータマトリックス、RSS-14、および RSS リミテッドのシンボルを読み取ります。この選択肢を使用すると、デコード速度が向上します。シンボルのコントラストが低い、シンボルが損傷している、または不鮮明である場合は選択しないでください。
注 :
- [学習] が選択された コード種類で、[アルゴリズム] パラメータが有効である必要があります。
- [高速/高コントラスト] オプションは、一部の高速読み取りアプリケーションに対して、より繰り返し可能なデコード時間を提供できるように設計されています。 一般に、マークの品質が場所によって異なるような、コントラストの高いインクジェットコードの読み取りに使用されます。 このようなアプリケーションでは、各マークのデコードに必要な時間に大きなばらつきが見られることがよくあります (つまり、印刷品質の悪いマークのデコードにかかる時間は、品質の良いマークの場合よりも 3 ~ 5 倍、長くなります)。 [高速/高コントラスト] オプションによって、平均速度を高く保ちながら、デコード時間のばらつきを軽減できます。 ただし、すべてのアプリケーションでこの恩恵を受けられるわけではないことに注意してください。使用しているアプリケーションにこのオプションが適しているかどうかを判定するには、適切なテストを実行する必要があります。
|
|
遠近補正 |
遠近歪みを持つデータマトリックスシンボルおよび QR コードシンボルのデコードを指定します。また、必要に応じて、既知の遠近歪みに対するデータマトリックスシンボルを登録することも可能です。
注 :
- [コード種類] で、遠近歪みを持つデータマトリックスシンボルまたは QR コードシンボルをデコードするには、[自動]、[学習]、[データマトリックス]、または [QR] を選択する必要があります。また、[アルゴリズム] パラメータをオンにする必要があります。
- [遠近補正あり] または [学習時に遠近補正データを登録] が選択されている場合、品質検証はサポートされません。
0 = 遠近補正なし (デフォルト) |
遠近歪みのないデータマトリックスシンボルおよび QR コードシンボルをデコードします。 |
3 = 遠近補正あり |
遠近歪みを持つデータマトリックスシンボルおよび QR コードシンボルをデコードします。遠近歪みは、モデルの登録中およびランタイムに、個別に予測されます。 |
7 = 学習時に遠近補正データを登録 |
既知の遠近歪みを持つデータマトリックスシンボルをデコードします。コード種類で [学習] が選択されている場合、遠近補正は、そのほかの 「学習済み」 属性とともに登録されます。ランタイムに、学習済み属性を使用して入力画像の遠近歪みが補正されている空間から、このシンボルがサーチされます。このオプションでは、ランタイムシンボルを、学習時間シンボルと同じ平面に配置する必要があります。このオプションを指定すると、既知の遠近歪みを持つひどく損傷したシンボルでもデコードを行うことができます。コード種類で [自動] が選択されている場合、このオプションは、「3 = 遠近補正あり」 と同じです。
ヒント : センサは入射角 (センサの光軸と、シンボルが存在する平面の法線ベクトルの角度含む) が 40 度を超えないように、またシンボルの解像度が 1 セルあたり最低 5 ピクセルになるように取り付けることを推奨します。
|
|
QR モード |
読み取りの対象となる QR コードの種類を指定します。
3 = QR コードモデル 1 と 2 |
4 = マイクロ QR コード |
6 = QR コードモデル 2、およびマイクロ QR コード (デフォルト) |
7 = QR コードモデル 1 と 2、およびマイクロ QR コード |
|
|
照合 |
印刷品質テスト (品質検証測定ともいいます) を実行するかどうかを指定します。
0 = OFF (デフォルト) |
品質をテストしません。 |
1 = ON |
品質をテストし、スプレッドシートに結果を表示します。 |
注 :
- 文字列をデコードできなかった場合、スプレッドシートに自動挿入された結果すべてに、#ERR が返されます。
- PharmaCode および RSS スタックド以外のすべてのコード種類は、品質検証をサポートしています。
|
タイムアウト |
関数が有効な ID シンボルを検索する時間をミリ秒単位で指定します (0 ~ 30000)。この時間が経過すると、処理は中止され、#ERR が返されます。値を 0 に設定すると設定値が無効になり、タイムアウトは適用されません。 |
表示 |
画像上の ReadIDCode グラフィックスオーバレイの表示モードを指定します。
0 = 非表示 (デフォルト) |
ReadIDCode 関数を含んでいるセルがスプレッドシート上でハイライトされている場合を除き、入力領域境界は表示されません。 |
1 = 結果のグラフィックスのみ |
結果のグラフィックス (データマトリックスおよび QR コード用ボックス含む) が常に表示されます。 |
2 = 入力と結果のグラフィックス |
入力グラフィックスと結果のグラフィックスが常に表示されます。
注 : [表示] パラメータは、データマトリックスシンボルと QR コードシンボルに対してのみ実装されます。
|
|
ReadIDCodeの出力
戻り値 |
デコードされた英数字文字列を含む ID コードデータ構造体。入力パラメータが無効であれば #ERR を返します。 |
結果 |
この関数が初めてセルに挿入されると、デコードされた文字列が隣のセルに自動的に表示されます。バーコードまたはシンボルをデコードできない場合は #ERR が挿入されます。
|
ReadIDCodeデータアクセス関数
[照合] チェックボックスを OFF にした ReadIDCode 関数をスプレッドシートに配置すると、データアクセス関数が 1 つだけスプレッドシートに自動挿入されます。
文字列 |
GetString(ID コード) |
バーコードまたはシンボル内でエンコードされている英数字文字列を返します。 |
[照合] チェックボックスを ON にした ReadIDCode 関数をスプレッドシートに配置すると、自動的にデータアクセス関数が挿入されます。データアクセス関数の組み合わせは、選択したコード種類によって変わります。
注 : ReadIDCode 関数をスプレッドシートに配置した後で [照合] チェックボックスを ON にしても、データアクセス関数は自動挿入されません。手動でセットしたデータアクセス関数を実行するには、[照合] チェックボックスを ON にしてください。
ReadIDCode データアクセス関数を使用して、そのほかのデータの取得ができます。