0

スヌーカー ボール (ビリヤード ボール) の位置と輪郭を正確に検出するプロジェクトを OpenCV で開始しています。

これらはボールです:三角形に 15 個のビリヤード ボールと 1 個の白いキュー ボールがある緑のビリヤード テーブル

いくつかのアルゴリズムを試してみましたが、役に立ちませんでした。これは私がこれまでに行ったことです:

- HoughCircles : これはほとんど機能しません。パラメータをミリメートルの分解能に調整しても、検出されるボールはわずかであり、ボールの中心は正確に検出されません。

-キャニー: ここでは、ボールが互いに接近していない場合にのみ、ボールの輪郭を取得できます。

-色によるしきい値 HSV : ボールは 1 つの色ではないため、これは機能しません。

HaarCascadeDetection や SURF などの他のアルゴリズムを試してみたい。

どう思いますか?

4

3 に答える 3

0

最良のオプションは、ピクセルの色が同じ範囲内にあるかどうかを確認することだと思います-範囲内関数を使用します( HSV画像が必要であることに注意してください)。この場合のボールの中心は、おそらく光の反射点 (またはこの点に非常に近い場所) であり、通常はボールの最も明るい点です。

テーブル(しきい値または範囲内)を捨てて、残っているものをすべて分析することもできます。

于 2012-12-25T00:13:45.697 に答える
0

100%うまくいくとは言えませんが、試してみてください。カメラが動かなければ、高速フーリエ変換によってこれを達成できると思います。http://en.wikipedia.org/wiki/Convolution_theoremをご覧ください。あなたがすべきこと:

  1. カメラは動かないと思います
  2. picと同じサイズの円でパターン画像を作成します
  3. 画像と写真の2Dフーリエ変換を行う
  4. 乗算は Harmonix ごとに Harmonix を変換します
  5. 逆変換する
  6. 強度が最も高い点を見つける
于 2012-12-24T20:04:24.740 に答える