Mask
Mask 関数を使用して不規則な形状の 2 値化画像マスクを作成します。このマスクを使用して画像内の特定の領域をハイライトし (値 255 が割り当てられた「対象ピクセル」)、ほかの領域を検査対象から除外します (値 0 が割り当てられた「対象外ピクセル」)。この関数は SurfaceFlaw 関数の入力として使用することも、Flaw Detection 関数の FlexFlawModel 関数で Flex を適用することもできます。
概要
画像マスクを使用して特定の特徴を検査対象から除去し、そのほかの領域をハイライトします。マスクは 2 ステップからなる内部処理で作成されます。最初のステップではエッジ検出とセグメンテーションを実行します。この間に入力画像は [平滑化係数] パラメータ設定に基づいて平滑化されます。平滑化された画像を使用すると、エッジ強調画像が内部で作成されます。
次に、ブロブ解析を使用して、画像をエッジ変化に基づきセグメンテーションします。これはエッジ強調画像で実行されます。このとき、暗いブロブはセグメントに抽出され、インデックスおよびラベルが付けられます。[マスク生成] パラメータの [穴塗りつぶし最大サイズ]、[カーネルサイズ中央値] および [収縮マスク数] は、画像マスクの穴の塗りつぶし、境界の平滑化、狭いストリップの削除にそれぞれ使用することができます。[カーネルサイズ中央値] パラメータはエッジの平滑化およびストリップの削除に使用すると特に有効です。
この処理の 2 つ目のステップでは、画像マスクの生成に使用されるエッジまたはセグメントを選択します。デフォルトではエッジを使用して ([マスク方法] パラメータはデフォルトで [エッジマスク] に設定されます)、エッジ強調に基づいた画像マスクが生成されます。この画像マスクでは、エッジピクセルのみがマスクされ、そのほかのピクセルはすべて表示されます。このタイプのマスクは、ラベル、テキストまたはロゴを除外する場合に使用すると有用です。
また、[マスク方法] パラメータを [最大セグメント] または [選択したセグメント] のいずれかに設定してセグメントを使用することもできます。背景に 0、次に大きいセグメントに 1 のインデックスが付き、残りのセグメントはそれぞれのサイズに基づいてソートされます (画像内で色分けされ、インデックスが付けられます)。このタイプのマスクは、背景や画像内の大きな領域を遮断する場合に使用すると有用です。
関数を設定する場合は、[表示画像] パラメータを使用してセグメントを表示することができます。セグメントには数値のインデックスが付き、色分けされて表示されます (黒ピクセルはセグメントの一部ではなく、白ピクセルは最大セグメントの一部です)。
マスクが適切に設定されると、登録され、このマスクがモデルとして内部で保持されます。関数のプロパティシートが開いている間にいずれかのパラメータが変更されると、マスクは新しいパラメータ設定に再登録されます。
- マスクの対象範囲が画像から画像への動きを有する場合、マスクに [フィクスチャ] があることを確認してください。
- パラメータの外部コントロールを許可するために、以下のパラメータのいずれかがスプレッドシートに絶対参照として配置されている場合、以下のパラメータが変更されたときは、自動的にマスクモデルが再登録されます。マスク方法、平滑化係数、最小エッジコントラスト、最小セグメント面積、穴塗りつぶし最大サイズ、収縮マスク数、反転、カーネルサイズ中央値、または セグメントです。
- パラメータの外部コントロールを許可するために [領域] パラメータが絶対参照としてスプレッドシートに入力されている場合、パラメータが変更されたときは、[マスクを登録] ボタンを押してマスクモデルを再登録してください。関数のプロパティシートが開いている間に [領域] パラメータが変更されると、マスクモデルは自動的に再登録されます。
Maskの入力パラメータ
Syntax:(画像,フィクスチャ.行,フィクスチャ.列,フィクスチャ.角度,領域.X,領域.Y,領域.高さ,領域.幅,領域.角度,領域.カーブ,スケール,外部領域,傷モデル参照,セグメント化.平滑化係数,セグメント化.最小エッジコントラスト,セグメント化.最小セグメント面積,マスク生成.マスク方法,マスク生成.セグメント,マスク生成.穴塗りつぶし最大サイズ,マスク生成.カーネルサイズ中央値,マスク生成.収縮マスク数,マスク生成.反転,マスク生成.マスクを登録,タイムアウト,表示画像,表示)
このパラメータは有効な画像データ構造体を含んでいるスプレッドシートのセルを参照している必要があります。デフォルトで参照されるセルは A0 で、このセルに AcquireImage 関数によって返される画像データ構造体が含まれています。 |
|||||||||||||||||||||||||
フィクスチャ入力、またはビジョンツール関数の画像座標系の出力に関連する対象領域 (ROI) を定義します。フィクスチャに関連する ROI を設定すると、フィクスチャが回転または移動した場合に、フィクスチャに対応して ROI を確実に回転または移動できます。 デフォルト設定は画像の左上隅で、(0, 0, 0) になります。
|
|||||||||||||||||||||||||
これは対象領域 (ROI) とも呼ばれ、画像処理の対象となる画像の領域を指定します。変換および回転可能な矩形の画像領域を作成します。このパラメータを選択して、[領域の最大化] ボタンを押すと、画像全体が対象になるように領域が自動的に拡張されます。 注 : パラメータの外部コントロールを許可するために [領域] パラメータが絶対参照としてスプレッドシートに入力されている場合、パラメータが変更されたときは、[マスクを登録] ボタンを押してマスクモデルを再登録してください。関数のプロパティシートが開いている間に [領域] パラメータが変更されると、マスクモデルは自動的に再登録されます。
|
|||||||||||||||||||||||||
マスクのサイズを、登録したフィクスチャサイズに対する割合 (%) で指定します (80 ~ 120、デフォルト = 100)。 注 : 変化する [スケール] パラメータの影響を表示するには、コントロールをスプレッドシートにドラッグ & ドロップします。これにより EditInt 関数が作成され、自動的に [スケール] パラメータに対する絶対参照として分類されます。関数のプロパティシートが開いている間に [スケール] パラメータの値を変更すると、マスクが新しいスケール値で自動的に再登録され、パラメータの変更による影響がわかりにくくなります。
|
|||||||||||||||||||||||||
オペレータ I/F 関数が入力されているスプレッドシートのセルへの参照を指定します。このパラメータを使用すると、Mask 関数は、[領域] と [フィクスチャ] の設定を無視し、参照先領域に指定された画像領域を検査します。 注 : このパラメータが外部定義領域の参照として設定されている場合に、この関数の内部領域を使用するには、セル参照に値 0 を入力し、このパラメータを手動で 0 に設定する必要があります。それ以外の場合、この関数は引き続き外部定義領域を参照します。
|
|||||||||||||||||||||||||
Flex アルゴリズムによって修正されたモデルデータを含み、FlexFlawModel 関数によって出力される |
|||||||||||||||||||||||||
関数がセグメンテーション解析を実行する方法を指定します。
|
|||||||||||||||||||||||||
マスクを構築する方法を指定します。
|
|||||||||||||||||||||||||
マスクを計算する時間をミリ秒単位で指定します (0 ~ 30000、デフォルト = 0)。指定された時間が経過すると、実行は停止し、#ERR が返されます。 |
|||||||||||||||||||||||||
この関数によって生成される出力画像のタイプを指定します。
|
|||||||||||||||||||||||||
画像の上に表示されるグラフィックスオーバレイを指定します。
|
Maskの出力
戻り値 |
2 値化マスクを含んでいる 注 :
|