# ブロブ

マシンビジョンの用語では、2 次元で、形状が変化しやすく、同じようにシェーディングされた連結されているピクセルのグループは、「ブロブ」と呼ばれます。これらのブロブを画像から抽出し、対象領域内でブロブを検出し、それらを特定の基準に基づいてソートするプロセスは、ブロブ解析と呼ばれます。

## ブロブ解析とは

In-Sight ブロブツールが行うブロブ解析は、連結性解析と呼ばれ、このステップは DetectBlobs 関数を使用して実行されます。DetectBlobs 関数をスプレッドシートに挿入してそのパラメータを設定した場合、最初に ROI をセグメント化することで解析が開始されます。

このプロセス中、ROI 内のピクセルは、グレースケールしきい値に基づいて、ブロブと背景の 2 つのカテゴリに分類されます。このしきい値でピクセルを切り分けて、しきい値を下回るピクセルは黒に、上回るピクセルは白に分類されます。

注: このしきい値を指定するには、DetectBlobs 関数の [しきい値] パラメータの自動設定を使用するか、試行錯誤して手動設定するか、またはヒストグラム関数の計算結果への参照として使用します。

このプロセスを実行すると、ピクセルが検証され、その周囲のピクセルに接続されているかどうかが判定されます。ブロブピクセルの左右、上下、または斜めにある類似した値の別のピクセルにブロブピクセルが接触している場合、ブロブピクセルが周囲のピクセルに接続しているといいます。背景ピクセルの左右または上下にある類似した値の別のピクセルに背景ピクセルが接触している場合、ブロブピクセルが周囲のピクセルに接続しているといいます。

下記の図は、In-Sight ブロブツールで画像を解析する方法を示しています。この例では、グレースケールしきい値 150 を使用して、画像をブロブピクセルと背景ピクセルにセグメント化しています。グレースケール値が 150 以上であるピクセルはすべて、白つまり背景ピクセルに分類され、150 未満の値を持つピクセルはすべて、黒つまりブロブピクセルに分類されます。

ブロブが画像から抽出されると、DetectBlobs によって自動的にブロブデータ構造体と、抽出されたブロブに関するデータを含む結果テーブルが作成されます。返された情報は、FindBlobs および SortBlobs 関数によって使用され、検出されたその他のブロブを物理的な特性と位置に基づいてそれぞれフィルタ処理し、ソートすることができます。

注: FindBlobs と SortBlobs はどちらも、ブロブデータ構造体を参照する必要があります。このデータ構造体は、DetectBlobs、FindBlobs、または SortBlobs 関数によって作成することができます。

FindBlobs 関数は、ROI 内にあるブロブを解析して、検出されたブロブが指定した要件を満たしているかどうかを調べます。要件を満たすブロブは返され、それらがどの程度要件を満たしているかが降順に得点化されます。

SortBlobs 関数は ROI 内にあるブロブを解析して、ブロブがフィクスチャに対してどこに位置しているかを特定します。これは、別のブロブに対するブロブの位置を特定する場合に役立ち、1 つの DetectBlobs 関数を使用して ROI 内の多数のブロブを一度に検出することができます。

## ブロブ解析を使用するタイミング

In-Sight ブロブツールは、次の条件が当てはまる場合に適しています。

- 2 次元の対象物の画像である。
- 画像でピクセルの白黒の差がはっきりしていて、高コントラストである。

注: In-Sight ブロブツールで解析できるのはグレースケール画像のみです。カラー画像はすべて、自動的にグレースケール値に変換されます。

## ブロブ解析を使用する理由

以上の条件を満たす場合、次のアプリケーションではブロブ解析が非常に役立ちます。

- 大まかな測定のアプリケーション。例えば、部品のある方向の幅を特定するために直径や正方形の寸法を測定します。
- 初回通過の位置決めアプリケーション。ブロブツールを使用して大まかなフィクスチャをすばやく探し、別のツール用に配置します。
- 有無を調べるアプリケーション。ブロブツールを使用して、画像内のブロブの有無を判定します。
- 計数アプリケーション。ブロブツールを使用して、面積や周囲長などの特性に基づいてブロブをカウントしてソートすることができます。

## ブロブ解析の実行方法

In-Sight ブロブツールを使用したブロブ解析のプロセスは、次の 3 つのステップに分けることができます。

ステップ 1 - 画像を調べて、画像とその条件がブロブ解析の要件を満たすかどうかを判定します。

ステップ 2 - DetectBlobs 関数をスプレッドシートに挿入してパラメータを設定し、画像内のブロブを探して識別します。

ステップ 3 - FindBlobs または SortBlobs 関数をスプレッドシートに挿入し、ブロブの物理的な特性または位置に基づいて、検出されたブロブのリストをそれぞれフィルタ処理します。