プロジェクトのリアルタイムでのテニスボール検出にopencvライブラリを使用しています。私は検出にハフ円変換法を使用しています。それは、オブジェクトを含む画像内の多数の円を見つけることです。そのため、画像から必要なオブジェクトの中心と半径の正しい座標を取得するのは困難です
誰でもこの問題を解決するアイデアを持っていますか.........?
プロジェクトのリアルタイムでのテニスボール検出にopencvライブラリを使用しています。私は検出にハフ円変換法を使用しています。それは、オブジェクトを含む画像内の多数の円を見つけることです。そのため、画像から必要なオブジェクトの中心と半径の正しい座標を取得するのは困難です
誰でもこの問題を解決するアイデアを持っていますか.........?
ここに 2 つのアイデアがあります。
より一般的なアプローチは、見つかった円をサイズ、円形度、または考えられるその他のプロパティでフィルター処理することです。これにより、本当に関心のあるサークルのみを見つけることができます。これにより、探している特定のオブジェクトに関する知識が最小限で済みます。
より具体的なアプローチは、テニス ボールだけを探していると仮定することです (そうですか?)。それがあなたが探しているものなので、ハフ アルゴリズムを実行する前に画像 (しきい値、モーフ フィルターなど) を前処理して、ノイズの一部を取り除くことができます。たとえば、昔ながらのネオン グリーンのテニス ボールを持っていて、それだけに関心があるとします。
ステップ 1: 画像を HSV 空間に変換します (必須ではありませんが、私はその方が好きです)
ステップ 2: チャンネルを分割する
ステップ 3: 特定のテニス ボールに対応する色相、彩度、値の特定の値を探して、各チャネルのしきい値を設定します。これらの数値を試して、ボールの最良の画像が得られるかどうかを確認する必要があります。
ステップ 4: bitwise_and チャネルしきい値の結果を一緒にして、テニス ボールだけの 1 つの最終的な 2 値化された画像を作成します。
ステップ 5: ハフ サークル アルゴリズム。通常どおり続行します。
これがあなたの状況に光を当てることを願っています。-JB