InspectEdgeForDefect
InspectEdgeForDefect 関数は、InspectEdge 関数によって返されるエッジまたはエッジペアに関する詳細なエッジ解析を行うためのエッジモデルを構築するために使用します。このデータは、検出されたエッジまたはエッジペアを最適ラインからの距離などの欠陥やギャップと比較するための最適なライン適合を構築するために使用します。
InspectEdgeForDefect 関数の概要
スプレッドシートにこの関数を挿入した後に、InspectEdge 関数によって出力された 検査 データ構造体に対する参照を作成する必要があります。InspectEdge 関数への参照が確立されると、InspectEdgeForDefect 関数のパラメータを設定することによってエッジモデルが作成されます。エッジモデルでは次の項目が定義されます。
- 最適ラインのタイプ - 直線または円形。
- エッジのタイプ - 単一またはエッジペア。
- エッジ変化のタイプ - 白から黒または黒から白。
- 不必要なエッジをフィルタ処理するために使用するエッジ得点付け基準。
- 最適ラインから不必要なエッジをフィルタ処理するために使用する最適ライン基準。
- 欠陥とギャップの両方またはいずれかの検出に使用する許容値。
エッジモデルが確立されると、この関数によってエッジ候補がエッジモデルと比較され、モデルからの偏差が報告されます。
InspectEdgeForDefectの入力パラメータ
Syntax:InspectEdgeForDefect(エッジ検査関数,最適ライン,エッジペアの検査,エッジ方向の検出,エッジ: 第1,エッジ: 第2, エッジ得点.得点しきい値,エッジ得点.エッジ規則,エッジ得点.コントラスト上限,エッジ得点.ペアサイズ,最適ラインの詳細設定.外れ値の削除,最適ラインの詳細設定.最適距離フィルタ,最適ラインの詳細設定.最端フィルタ距離,最適ラインの詳細設定.得点再計算,最適ラインの詳細設定.最適ライン再計算,欠陥/ギャップ最大数,欠陥.最小距離,欠陥.最大距離,欠陥.サイズ有効,欠陥.最小サイズ,欠陥.最大サイズ,欠陥.面積有効,欠陥.最小面積,欠陥.最大面積,欠陥.欠陥ライン最適フィルタ,欠陥.ソート基準,ギャップ.有効,ギャップ.ギャップ最小値,ギャップ.ギャップ最大値,ギャップ.最大移動距離,ギャップ.終端ギャップを無視,ギャップ.ソート基準,キャリパインデックス,表示)
エッジ検査関数 | InspectEdge 関数によって返された有効な検査データ構造体を含むスプレッドシートセルへの参照を指定します。 | ||||||||||||||||||||||||||||||||||||||||
最適ライン |
検出されたエッジから作成する最適ラインの種類を指定します。
|
||||||||||||||||||||||||||||||||||||||||
エッジペアの検査 |
この関数でエッジペアを検出するかどうかを指定します。検出されたエッジペアには、画像内にグラフィックス表示でラベルが付けられます。最初に検出されたエッジには 0、2 番目に検出されたエッジには 1 が付けられます。
|
||||||||||||||||||||||||||||||||||||||||
エッジ方向の検出 |
エッジを検出する方向を指定します。エッジを検出する方向をグラフィックス表示するために、暗い緑の矢印が追加されます。最適ラインには、画像内にグラフィックス表示でラベルが付けられます。最初の最適ラインには 0、2 番目の最適ラインには 1 が付けられます。 注 : 参照している InspectEdge 関数の ROI がカーブしている場合、検査はカーブの中心に対して行われます。[エッジ方向の検出] パラメータが [左→右] に設定されている場合は、カーブの中心方向に向かって検査され、[右→左] に設定されている場合はカーブの中心から外側へ向かって検査されます。
|
||||||||||||||||||||||||||||||||||||||||
エッジ: 第1 |
[エッジ方向の検出] パラメータに従って、検出された最初のエッジのコントラスト変化を指定します。
|
||||||||||||||||||||||||||||||||||||||||
エッジ: 第2 |
[エッジ方向の検出] パラメータに従って、検出された 2 番目のエッジのコントラスト変化を指定します。 注 : このオプションを有効にするには、[エッジペアの検査] パラメータを ON にしておく必要があります。
|
||||||||||||||||||||||||||||||||||||||||
エッジ得点 |
指定した基準をエッジが満たすかどうかを判別するために使用する、エッジ得点モードを指定します。
|
||||||||||||||||||||||||||||||||||||||||
最適ラインの詳細設定 |
最適ラインを構築する方法を指定します。
|
||||||||||||||||||||||||||||||||||||||||
欠陥/ギャップ最大数 | 検出する欠陥とギャップの両方またはいずれかの最大数を指定します (1 ~ 4096、デフォルト = 5)。この値は、欠陥とギャップに個別に適用されます。例えば、値を 5 に設定すると、最大 5 つの欠陥と 5 つのギャップが検出されます。この設定は、スプレッドシートにデータアクセス結果テーブルを構築するために使用されます。 | ||||||||||||||||||||||||||||||||||||||||
欠陥 |
最適ラインのエッジの欠陥を判別するためのパラメータを指定します。
|
||||||||||||||||||||||||||||||||||||||||
ギャップ |
エッジ内のギャップを判別するためのパラメータを指定します。
|
||||||||||||||||||||||||||||||||||||||||
キャリパインデックス | 画像上に表示するキャリパを指定します (キャリパは緑色に囲まれて表示されます)。デフォルトで表示されるキャリパは 0 です。 | ||||||||||||||||||||||||||||||||||||||||
表示 |
画像上のこの関数のグラフィックスオーバレイの表示モードを指定します。
|
InspectEdgeForDefectの出力
InspectEdgeForDefectデータアクセス関数
次のデータアクセス関数が、InspectEdgeForDefect データ構造体結果テーブルを作成するためにスプレッドシートに自動挿入されます。このスプレッドシートは、要約、欠陥、ギャップ、および除外距離の 4 つのセクションに分けられます。
InspectEdgeForDefect 関数の数式はすべて次の条件に適合しています。
- 検査 = InspectEdgeForDefect 関数によって出力された検査データ構造体
- キャリパインデックス = 0 ~ N (キャリパの総数は、InspectEdgeForDefect 関数が参照している InspectEdge 関数によって出力されたキャリパの数と同じ)
- エッジペアインデックス = 0 または 1
- エッジインデックス = 0 ~ N
- 点インデックス = 0 ~ 1
[エッジペアの検査] パラメータが有効な場合は、エッジ 1 のデータの追加行が自動的にスプレッドシートに挿入されます。この場合、インデックス 0 はエッジ 0 に関係する情報を返し、インデックス 1 はエッジ 1 に関係する情報を返します。
スプレッドシート名 | 関数名 | 説明 |
要約 | ||
欠陥/ギャップ | GetDefectGapCount(検査, [エッジペアインデックス], [欠陥/ギャップ]) | 指定した内容に応じて、欠陥/ギャップの数を返します。欠陥 = 0、ギャップ = 1。 |
行 0/1 | GetFitEdgeRow(検査, [エッジペアインデックス], [点インデックス]) | 指定した点の行座標を返します。 |
列 0/1 | GetFitEdgeCol(検査, [エッジペアインデックス], [点インデックス]) | 指定した点の列座標を返します。 |
中心行 | GetFitEdgeCenterRow(検査, [エッジペアインデックス]) | 最適円を指定した場合に挿入され、最適円の中心の行座標を返します。 |
中心列 | GetFitEdgeCenterCol(検査, [エッジペアインデックス]) | 最適円を指定した場合に挿入され、最適円の中心の列座標を返します。 |
半径 | GetFitEdgeRadius(検査, [エッジペアインデックス]) | 最適円を指定した場合に挿入され、最適円の中心から選択したエッジペアまでの距離を返します。 |
欠陥/ギャップ | ||
サイズ/面積 | GetDefectGapValue(検査, [欠陥/ギャップインデックス], [欠陥/ギャップ], [エッジペアインデックス], [サイズ/面積/幅]) | 欠陥またはギャップの領域のサイズを返します。欠陥 = 0、ギャップ = 1、サイズ = 0、面積 = 1、幅 = 2。 |
行 | GetDefectGapBoundsRow(検査, [欠陥/ギャップインデックス], [欠陥/ギャップ], [エッジペアインデックス]) | 欠陥に外接する矩形の行座標を返します。欠陥 = 0、ギャップ = 1。 |
列 | GetDefectGapBoundsCol(検査, [欠陥/ギャップインデックス], [欠陥/ギャップ], [エッジペアインデックス]) | 欠陥に外接する矩形の列座標を返します。欠陥 = 0、ギャップ = 1。 |
高さ | GetDefectGapBoundsHigh(検査, [欠陥/ギャップインデックス], [欠陥/ギャップ], [エッジペアインデックス]) | 欠陥に外接する矩形の高さを返します。欠陥 = 0、ギャップ = 1。 |
幅 | GetDefectGapBoundsWide(検査, [欠陥/ギャップインデックス], [欠陥/ギャップ], [エッジペアインデックス]) | 欠陥に外接する矩形の幅を返します。欠陥 = 0、ギャップ = 1。 |
角度 | GetDefectGapBoundsAngle(検査, [欠陥/ギャップインデックス], [欠陥/ギャップ], [エッジペアインデックス]) | 欠陥に外接する矩形の角度を返します。欠陥 = 0、ギャップ = 1。 |
カーブ | GetDefectGapBoundsCurve(検査, [欠陥/ギャップインデックス], [欠陥/ギャップ], [エッジペアインデックス]) | 欠陥に外接する矩形のカーブを返します。欠陥 = 0、ギャップ = 1。 |
始まり/終わり | GetDefectGapCaliperIndex(検査, [欠陥/ギャップインデックス], [欠陥/ギャップ], [エッジペアインデックス], [欠陥の始まり/終わり]) | 欠陥が始まるキャリパまたは終わるキャリパを返します。欠陥 = 0、ギャップ = 1、始まり = 0、終わり = 1。 |
除外距離 - 最も遠い点 1/2 | ||
キャリパ | GetExtremePoints(検査, [エッジペアインデックス], [近い/遠い]) | エッジが最適ラインから最も離れているキャリパのインデックスを返します (近い = 0、遠い = 1)。 |
行 | GetEdgeRow(検査, [キャリパインデックス], [エッジインデックス], [エッジペアインデックス]) | 参照したエッジの行座標を返します。 |
列 | GetEdgeCol(検査, [キャリパインデックス], [エッジインデックス], [エッジペアインデックス]) | 参照したエッジの列座標を返します。 |
距離 | GetEdgeFromFit(検査, [キャリパインデックス], [エッジペアインデックス]) | 参照したキャリパのエッジから最適ラインまでの距離を返します。 |