# FindCircleDefects

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

## FindCircleDefects の入力

パラメータ | 説明
画像 | このパラメータは、スプレッドシートで画像データ構造体を含むセルを参照する必要があります。デフォルトでは、このパラメータは、データ構造体を含むセル A0 を参照しています。また、このパラメータは、画像データアクセス関数や、座標補正関数により返された、その他の画像データ構造体も参照できます。
フィクスチャ | Fixture入力、またはビジョンツール関数の画像座標系の出力に関連する対象領域 (ROI) を定義します。フィクスチャに関連する ROI を設定すると、フィクスチャが回転または移動した場合に、フィクスチャに対応して ROI を確実に回転または移動できます。 デフォルト設定は画像の左上隅で、(0, 0, 0) になります。
X | 画像座標での X オフセット。
Y | 画像座標での Y オフセット。
角度 | 画像座標系での画像の X 軸からの回転 (時計回り +/-360 度)。
円環 | これは対象領域 (ROI) とも呼ばれ、解析の対象となる画像の領域を表します。移動および回転可能な円環の画像領域を作成します。このパラメータを選択して、プロパティシートのツールバーにある [領域の最大化] ボタンを押すと、画像全体が対象になるように領域が自動的に拡張されます。
X | フィクスチャ座標での原点の X オフセット
Y | フィクスチャ座標での原点の Y オフセット
内側の半径 | 内側の半径のサイズ。
外側の半径 | 外側の半径のサイズ。
注: [フィクスチャ] および [ドーナツ領域] パラメータは、画像の範囲内で定義されている必要があります。画像の範囲内で定義されていない場合、この関数は #ERR を返します。
欠陥タイプ | 関数が検出する欠陥のタイプとして、円または放射を指定します。周囲のピクセルとグレースケール値が異なるピクセルは、欠陥である可能性があります。
0 = 環状でない特徴 (デフォルト) | 円形からの偏差を検出するために、円環内のピクセル勾配を円方向に計算するように指定します。
1 = 放射状でない特徴 | 放射状の特徴から偏差を検出するために、円環内のピクセル勾配を放射方向に計算するように指定します。
ずれ | 欠陥検出の許容度を指定します。
0 = OFF (デフォルト) | 対象物が円形で、円環の中央に位置していることを指定します。許容度の低い設定です。
1 = ON | 対象物が楕円形でも、円環の中央からずれていてもかまわないことを指定します。許容度の高い設定です。
アクセプトしきい値 | 欠陥のしきい値をグレースケール値で指定します。(0 ～ 255、デフォルト = 30)
表示 | 画像の上に表示するグラフィックスオーバーレイを指定します。
0 = 非表示 (デフォルト) | FindCircleDefects 関数を含んでいるセルがスプレッドシート内でハイライトされている場合を除き、使用可能なグラフィックス項目は表示されません。
1 = 結果のグラフィックスのみ | 処理された画像が常に表示されます。
2 = 入力のグラフィックスのみ | 入力画像領域と関連付けられているグラフィックス項目が常に表示されます。

## FindCircleDefects の出力

戻り値 | 白黒の (「2 値化」) 画像を格納している 画像データ構造体。入力パラメータが無効であれば #ERR を返します。
結果 | FindCircleDefects 関数を初めてセルに挿入すると、次の画像データアクセス関数を使用して、スプレッドシート内に結果テーブルが作成されます。
ラベル | 関数 | 説明
暗ピクセル | GetDarkPixelCount(画像) | 欠陥しきい値を下回るピクセルの数を返します。ピクセルは黒で表示されます。
明ピクセル | GetBrightPixelCount(画像) | 欠陥しきい値以上のピクセルの数を返します。ピクセルは白で表示されます。
次の画像データアクセス関数を使用して、その他のデータ要素を取得できます。
面積 | GetArea(画像) | 領域の面積を返します。

## FindCircleDefects の例

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

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

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

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

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

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

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

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