ImageMath
多目的関数である ImageMath 関数は、各ピクセルが、2 つの入力画像間で実行された算術演算 (加算、減算、平均など) の結果となるグレースケールまたは白黒の出力画像を生成します。
- In-Sight ファームウェア 5.2.0 以降から、この関数のアルゴリズムはより新しいアルゴリズムを使用するように変更されました。この変更により、[表示行] および [表示列] パラメータが関数に追加されました。また、[結果の配置]、[詳細設定オプション] パラメータおよび [AND]、[OR]、[XOR] オプション ([フィルタ種類] パラメータ) が関数から削除されました。
- In-Sight ファームウェア 5.1.x 以前に設定された ImageMath 関数を含んでいるジョブを、ファームウェアバージョン 5.2.0 以降を実行する In-Sight ビジョンシステムにロードすると、[結果の配置] パラメータと [詳細設定オプション] パラメータが自動的にこの関数から削除され、[表示行] および [表示列] パラメータはデフォルト値 (0, 0) に設定されます。ImageMath 関数で [AND]、[OR]、[XOR] オプションを使用するように設定すると、#ERR が返されます。
- In-Sight ファームウェア 5.2.0 以降に設定された ImageMath 関数を含んでいるジョブを、ファームウェアバージョン 5.1.x 以前を実行する In-Sight ビジョンシステムにロードしようとすると、エラーメッセージが表示されてジョブのロードが失敗します。
- [結果の配置] オプションとして [画像 1 の原点] または [画像 2 の原点] が選択されている場合、In-Sight ファームウェア 5.1.x 以前に設定された ImageMath 関数は、キャリブレーションを後続のツールに適用することができます ([センサの原点] が選択されている場合は、結果はピクセル単位となります)。ただし、In-Sight ファームウェア 5.2.0 以降に設定された ImageMath 関数は、キャリブレーションを適用することはできません。ピクセルの計測値をワールド座標に変換するには、いくつかのオプションがあります。
- ツール用の座標補正関数を使用します (例えば TransBlobsToWorld)。
- ImageMath 関数を、適切なキャリブレーションを行う CalibrateImage 関数に適用して、CalibrateImage 関数を後続のツールへの入力として使用します。
ImageMath の入力パラメータ (In-Sight 5.2.0 以降)
Syntax:ImageMath(画像1,画像2,操作,表示行,表示列,表示)
画像 1 | このパラメータは有効な画像データ構造体を含んでいるスプレッドシートのセルを参照している必要があります。デフォルトで参照されるセルは A0 で、このセルに AcquireImage 関数によって返される画像データ構造体が含まれています。 | ||||||||||||||||||||||||||||||||||||
画像 2 | このパラメータは有効な画像データ構造体を含んでいるスプレッドシートのセルを参照している必要があります。デフォルトで参照されるセルは A0 で、このセルに AcquireImage 関数によって返される画像データ構造体が含まれています。 | ||||||||||||||||||||||||||||||||||||
操作 |
グレースケールまたは白黒の出力画像を生成する画像処理演算を指定します。
|
||||||||||||||||||||||||||||||||||||
表示行 | 左上隅を基準に、出力画像を表示する行座標 (デフォルト = 0) を指定します。 | ||||||||||||||||||||||||||||||||||||
表示列 | 左上隅を基準に、出力画像を表示する列座標 (デフォルト = 0) を指定します。 | ||||||||||||||||||||||||||||||||||||
表示 |
画像の上に表示されるグラフィックスオーバレイを指定します。
|
ImageMath の入力パラメータ (In-Sight 5.1.x 以前)
Syntax:ImageMath(画像1 ,画像2,操作 ,結果の配置 ,詳細設定オプション.ディバイザ,詳細設定オプション.グレースケールオフセット,表示)
画像 1 | このパラメータは有効な 画像 データ構造体を含んでいるスプレッドシートのセルを参照している必要があります。デフォルトで参照されるセルは A0 で、このセルに AcquireImage 関数によって返される 画像 データ構造体が含まれています。 | ||||||||||||||||||
画像 2 | このパラメータは有効な 画像 データ構造体を含んでいるスプレッドシートのセルを参照している必要があります。デフォルトで参照されるセルは A0 で、このセルに AcquireImage 関数によって返される 画像 データ構造体が含まれています。 | ||||||||||||||||||
操作 |
グレースケールまたは白黒の出力画像を生成する画像処理演算を指定します。
|
||||||||||||||||||
結果の配置 |
画像処理演算が行われた後に、出力される画像の位置を指定します。
|
||||||||||||||||||
詳細設定オプション |
グレースケール出力画像に適用することができる、追加の数学的な変更を指定します。演算の順序は、(1) 除算および (2) オフセットです。
|
||||||||||||||||||
表示 |
画像の上に表示されるグラフィックスオーバレイを指定します。
|
ImageMath の出力
戻り値 | 処理済みの画像を含んでいる画像データ構造体。入力パラメータが無効であれば #ERR を返します。 |
ImageMath 関数の例
この例では、ガスケットの穴のみの出力ファイルを生成することを目的としています。後で、この穴が別のツールによって参照され、穴に関する決定を行うことができます。
画像 1 では、完全なガスケットの画像を取り込んでいます (下記)。
画像 2 は画像 1 のコピーとしたいところですが、すべての白い穴が塗りつぶされています。これを生成するには、Filter 関数をスプレッドシートに挿入し、プロパティシートで [領域] という単語を選択して、プロパティシートのツールバーにある [領域の最大化] ボタンをクリックすることによって、ROI を最大化します。ROI を最大化すると、画像 1 と画像 2 の ROI が同じサイズになります。
プロパティシートで [フィルタ種類] ドロップダウンメニューから [白穴塗りつぶし] を選択し、そのほかのパラメータについてはデフォルト設定を受け入れ、Filter プロパティシートで [OK] をクリックしてこの例の設定を完了し、関数を入力画像に適用します (下記の結果を参照)。
次に ImageMath 関数をスプレッドシートに挿入し、プロパティシートで A0 を画像 1 として受け入れます。ここで、フィルタ出力画像は画像 2 のソースとして参照される必要があります。プロパティシート内の画像 2 の語句をダブルクリックすると、非表示になって In-Sight スプレッドシートが表示されます。Filter 関数によって返された画像データ構造体をクリックし、[ジョブの編集] ツールバーにある [OK] ボタンをクリックして、ImageMath プロパティシートに戻ります。Enter キーを押すか、画像データ構造体をダブルクリックすることで、選択を確定することもできます。
プロパティシートで [フィルタ種類] ドロップダウンメニューから [差] を選択し、そのほかのパラメータについてはデフォルト設定を受け入れ、ImageMath プロパティシートで [OK] をクリックしてこの例の設定を完了し、関数を入力画像に適用します。
この結果、ガスケットの穴のみの出力画像となります (下記)。