SurfaceFX
SurfaceFX 関数で特徴の強調を実行します。照明を使用して、オブジェクトの 3D 特徴を強調する高コントラストの画像を作成し、その他のビジョンツールによって特徴の抽出と検査を行います。この関数は、浮き彫り、浮き出し、スタンプ、エッチング、凹凸、そして欠陥 (欠け、くぼみ、しわ、穴、裂け目など) が生じている表面の特徴を分離することによって、ノイズまたはクラッタ (あるいはその両方) を表面の背景から取り除きます。コントラスト画像が生成されると、その他のビジョンツール (OCRMax、TrainPatMaxRedLine、FindPatMaxRedLine、DetectBlobs、SurfaceFlaw、および InspectEdge) を検査と欠陥検出に使用することができます。
SurfaceFX のアルゴリズムでは、低い角度 (45° 未満) の 4 台の個別の光源から順番に 4 点の画像を取り込む必要があります。光源を円の円周に沿って均等に配置し、オブジェクトを照明の中心に配置する必要があります。取り込みフェーズでは、オブジェクトは静止したままとする必要があり、照明および画像取り込みシーケンスは、オブジェクトの右のクワドラントから開始して時計回りに下のクワドラント、次に左のクワドラント、最後に上のクワドラントとする必要があります。
このアルゴリズムでは次に表面に凹凸がある画像が生成され、隆起した特徴は白で、くぼんだ特徴は黒で表示されます。
SurfaceFX 関数の入力
Syntax:SurfaceFX(右,下,左,上,シグマ,輝度,コントラスト,表示)
右、下、左、上 |
これらの引数は、オブジェクトの右、下、左、または上からの低い角度 (45° 未満) の照明がある、有効な画像または LatchImage データ構造体を含んでいるスプレッドシートのセルを参照している必要があります。
注 :
|
||||
シグマ | スムーズネス値 (0 ~ 10。デフォルト = 1) を指定して、出力画像内の高周波ノイズを取り除くことができます。 | ||||
輝度 | 出力画像の背景の平均明度 (0 ~ 255。デフォルト = 128) を指定します。 | ||||
コントラスト | 出力画像の表面の特徴と背景ピクセルの明度の差異 (0 ~ 100。デフォルト = 10) を指定します。 | ||||
表示 |
画像の上に表示されるグラフィックスオーバレイを指定します。
|
SurfaceFX 関数の出力
戻り値 | 表面に凹凸のある処理済みの画像を含んでいる画像データ構造体を返します。入力パラメータのいずれかが無効であれば #ERR を返します。 |
SurfaceFX の例
この例では、SurfaceFX 関数を使用して表面の特徴が強調された出力画像を生成し、SurfaceFlaw 関数に渡してさらに検査することを目的としています。SurfaceFX は外部光源を必要とし、光源を制御して照明と画像取り込みシーケンスを結合します。各画像では、画像平面の単一のクワドラント (右、下、左、および上) から低い角度 (45° 未満) の照明が照射される必要があります。各クワドラントに照明が当てられるに従って、画像が取り込まれます。4 点の画像がすべて取り込まれたら、画像を SurfaceFX 関数に渡すことができます。これらの画像は、セルを無効にするか、ラッチされた画像を使用して保存することができます。
この例では、イベント パラメータを対応する Button 関数 (ラッチ1、ラッチ2、ラッチ3、ラッチ4) に設定している 4 つの LatchImage 関数を使用し、それらの 領域 パラメータは共通の EditRegion 関数を共有するので、SurfaceFX 関数に渡された各画像の形状と方向は同じになります。LatchImage 関数によって保存された画像は、異なる 4 方向 (右、下、左、および上) からの照明を使用して取り込まれ、SurfaceFX 関数 (A11) に渡されます。SurfaceFlaw 関数は、SurfaceFX 関数によって出力された 画像データ構造体を参照する 画像 パラメータを使用して、オブジェクトの検査を実行します。
-
最初の画像では、右側からの照明がアクティブ化されて画像が取り込まれています。次に [ラッチ1] ボタン (セル A5) を押すと、取り込まれた画像は B5 の LatchImage セルに保存されます。
-
2 番目の画像では、下側からの照明がアクティブ化されて画像が取り込まれています。次に [ラッチ2] ボタン (セル A6) を押すと、取り込まれた画像は B6 の LatchImage セルに保存されます。
-
3 番目の画像では、左側からの照明がアクティブ化されて画像が取り込まれています。次に [ラッチ3] ボタン (セル A7) を押すと、取り込まれた画像は B7 の LatchImage セルに保存されます。
-
4 番目の画像では、上側からの照明がアクティブ化されて画像が取り込まれています。次に [ラッチ4] ボタン (セル A8) を押すと、取り込まれた画像は B8 の LatchImage セルに保存されます。
-
この後 SurfaceFX 関数は、入力画像としての 4 つの LatchImage データ構造体に基づいて実行され、表面のへこみをハイライトする特徴が強調された出力画像を生成します (下記)。
-
最後に、SurfaceFlaw 関数は SurfaceFX の出力画像を入力画像として使用し、ローカルの明度とサイズにばらつきのある領域を検出し、画像内の傷を識別します (下記)。