FindCircleDefects

FindCircleDefects 関数は、ユーザが設定したしきい値に基づいて、入力画像の「円環」(リング状) 領域内の各ピクセルを黒または白に変換します。白は、真円でない特徴または放射が均一でない特徴を示します。ユーザは、画像上に円環を定義して配置し、関数が円方向と放射方向のどちらの方向にピクセル勾配を計算するかを選択します。しきい値以上になる値は、白黒の出力画像内で白ピクセルとして表示されます。

FindCircleDefectsの入力パラメータ

Syntax:FindCircleDefects(画像,フィクスチャ.行,フィクスチャ.列,フィクスチャ.角度,ドーナツ領域.X,ドーナツ領域.Y,ドーナツ領域.内側半径,ドーナツ領域.外側半径,欠陥タイプ,ずれ補正,アクセプトしきい値,表示)

画像 画像データ構造体を含んだスプレッドシートセルを参照するように指定します。デフォルトでは、このパラメータは、AcquireImage 画像データ構造体を含むセル A0 を参照しています。また、このパラメータは、ビジョンツールのグラフィックス関数や、座標補正関数により返された、そのほかの画像データ構造体も参照できます。

フィクスチャ

 

フィクスチャ入力、またはビジョンツール関数の画像座標系の出力に関連する対象領域 (ROI) を定義します。フィクスチャに関連する ROI を設定すると、フィクスチャが回転または移動した場合に、フィクスチャに対応して ROI を確実に回転または移動できます。

デフォルト設定は画像の左上隅で、(0, 0, 0) になります。

画像座標での行オフセット。
画像座標での列オフセット
角度 画像座標系での方位角
ドーナツ領域

これは対象領域 (ROI) とも呼ばれ、解析の対象となる画像の領域を表します。変換および回転可能なドーナツ状画像領域を作成します。このパラメータを選択して、プロパティシートのツールバーにある [領域の最大化] ボタンを押すと、画像全体が対象になるように領域が自動的に拡張されます。

X フィクスチャ座標での原点の X オフセット
Y フィクスチャ座標での原点の Y オフセット
内側の半径 内側の半径のサイズ。
外側の半径 外側の半径のサイズ。
:  [フィクスチャ] パラメータと [ドーナツ領域] パラメータは、画像の範囲内で定義されている必要があります。画像の範囲内で定義されていない場合、この関数は #ERR を返します。
欠陥タイプ

関数が検出する欠陥のタイプとして、円または放射を指定します。周囲のピクセルとグレースケール値が異なるピクセルは、欠陥である可能性があります。

0 = 環状でない特徴 (デフォルト) 円形からの偏差を検出するために、ドーナツ領域内のピクセル勾配を円方向に計算するように指定します。
1 = 放射状でない特徴 放射状の特徴から偏差を検出するために、ドーナツ領域内のピクセル勾配を放射方向に計算するように指定します。
ずれ補正

欠陥検出の許容度を指定します。

0 = OFF (デフォルト) 対象物が円形で、円環の中央に位置していることを指定します。許容度の低い設定です。
1 = ON 対象物が楕円形でも、ドーナツ領域の中央からずれていてもかまわないことを指定します。許容度の高い設定です。
アクセプトしきい値 欠陥のしきい値をグレースケール値で指定します。(0 ~ 255、デフォルト = 30)
表示

画像の上に表示されるグラフィックスオーバレイを指定します。

0 = 非表示 (デフォルト) FindCircleDefects 関数を含んでいるセルがスプレッドシート内でハイライトされている場合を除き、使用可能なグラフィックス項目は表示されません。
1 = 結果のグラフィックスのみ 処理された画像が常に表示されます。
2 = 入力のグラフィックスのみ 入力画像領域と関連付けられているグラフィックス項目が常に表示されます。

FindCircleDefectsの出力

戻り値 白黒の (「バイナリ」) 画像を格納している画像データ構造体。入力パラメータが無効であれば #ERR を返します。
結果 FindCircleDefects 関数を初めてセルに挿入すると、スプレッドシート内に結果テーブルが自動的に作成されます。

FindCircleDefectsデータアクセス関数

次のデータアクセス関数がスプレッドシートに自動挿入され、結果テーブルが作成されます。

暗ピクセル GetDarkPixelCount(画像) 欠陥しきい値を下回るピクセルの数を返します。ピクセルは黒で表示されます。
明ピクセル GetBrightPixelCount(画像) 欠陥しきい値以上のピクセルの数を返します。ピクセルは白で表示されます。

次のデータアクセス関数を使用して、そのほかのデータの取得ができます。

面積 GetArea(画像) 領域の面積を返します。

FindCircleDefects

この例では、FindCircleDefect の機能を示すために、下に示す人工の円形対象物 (左側) と放射状対象物 (右側) を使用しています。どちらの対象物も色は中間のグレーで、内側および外側に太く暗い境界線があるのが特徴です。

In-Sight スプレッドシートに関数を挿入した後、プロパティシートで「Annulus」という単語をダブルクリックして円環を定義します。画像の上に赤い円環が現れます。カーソルを使用して円環を移動するかサイズを変更し、[ジョブの編集] ツールバーにある [OK] ボタンをクリックし、選択を確定してプロパティシートに戻ります。Enter キーを押すか、円環内をダブルクリックすることで、選択を確定することもできます。下の図は、円環が表示された対象物の画像です。

欠陥タイプ (真円でないか、放射状が均一でない) を選択し、偏差の許容を「オン」または「オフ」にして、ほかのパラメータについてはデフォルト設定を受け入れます。プロパティシートの [OK] をクリックしてこの例の設定を完了し、関数を入力画像に適用します。

下の図は、円形対象物の白黒出力画像です。関数は真円でない欠陥を検出するよう設定され、[アクセプトしきい値] パラメータはデフォルト値の 30、偏差の許容は「オフ」(左) と「オン」(右) です。円形対象物の外側のエッジは、滑らかな円のカーブの一部に見えているにもかかわらず、欠陥の可能性ありとしてマーキングされているため、「オフ」(左) に設定した方が厳密であることがわかります。

  

下の図は、同じ円形対象物の白黒出力画像ですが、関数は放射状が均一でない欠陥を検出するように設定されています。関数は、外側境界線の内側エッジと外側エッジを放射状が均一でない欠陥の可能性ありとしてマーキングしています。

下の図は、放射状対象物の白黒出力画像です。関数は放射状が均一でない欠陥を検出するように設定され、[アクセプトしきい値] パラメータは 70、偏差の許容は「オフ」(左) と「オン」(右) です。ここでも、放射状の特徴の外側エッジが欠陥の可能性ありとしてマーキングされているため、「オフ」(左) に設定した方がより厳密であることがわかります。

 

下の図は、同じ放射状対象物の白黒出力画像ですが、ツールは真円でない欠陥を検出するように設定されています。関数は、円環内のすべての放射特徴を真円でない欠陥の可能性ありとしてマーキングしています。

実世界の用途では、ユーザは、結果に関する判定を下すために、この後出力画像を別のツールで参照することになります。