3

実際には何をしSimpleBlobDetectorますか?

それは私にいくつかのポイントを返しますが、これらのポイントは何ですか?

ブロブ検出器は、色を含め、類似した特性を持つ画像領域を見つけますか?

見つかったブロブの輪郭を取得できますか? detectExWeb 上のいくつかの例で関数呼び出しを見ましたが、OpenCV 2.4.5 にはそのような関数はありません。現在、この関数の代わりに何が使用されていますか?

アップデート

ドキュメントでブロブ検出アルゴリズムがどのように説明されているかを次に示します。

  1. minThreshold (これを含む) から maxThreshold (これを含まない) までのいくつかのしきい値でしきい値処理を適用し、隣接するしきい値間の距離が thresholdStep であることにより、ソース イメージをバイナリ イメージに変換します。
  2. findContours() によってすべてのバイナリ イメージから連結成分を抽出し、それらの中心を計算します。
  3. いくつかのバイナリ イメージの中心を座標でグループ化します。近い中心は、minDistBetweenBlobs パラメーターによって制御される 1 つのブロブに対応する 1 つのグループを形成します。
  4. グループから、ブロブの最終的な中心とその半径を推定し、キーポイントの位置とサイズとして返します。

ブロブが円形であるべきかどうかは明らかではありません!

4

1 に答える 1

4

返されるポイントは、画像内のブロブの中心です。ブロブは円形であると想定され、サイズは関数で取得される出力ベクトルのキーポイントのサイズとして格納されdetect()ます。リンクで指定されているように、色に基づくフィルタリングを使用して、探しているブロブの色を指定できます。filterByColor = trueで探している色を設定して指定しますblobColor

輪郭を探している場合は、プロセスをより細かいステップに分割する必要があります。バイナリ イメージを取得するための最初のしきい値。次にfindContours、OpenCV で関数を使用します。

于 2013-06-18T12:58:12.203 に答える