1

ボクサーのパンチの動きを検出するソフトウェアを開発しています。現時点では、inRange関数を使用して色ベースのセグメンテーションを使用し、青の最小値と青の最大値を検出するように設定しました。問題は、範囲が非常に広く、私のカムが時々ノイズを拾い上げ、関心のないオブジェクトをセグメント化することです。ソフトウェアを改善するために、ボクシンググローブの画像をスキャンし、さらに処理する前に正確な青色の値を確立します。

その値をVectorに格納し、inRangeフィクションで呼び出すことは私にとって意味があります

// My current function which takes the Minimum and Maximum values of Blue Color
Mat range_out;
inRange(blur_out, Scalar(100, 100, 100), Scalar(120, 255, 255), range_out);

だから私はここのどこかに行くためにベクトルをイメージします。

ここに画像の説明を入力してください

  1. この上の画像をスキャンして、青の値を計算します
  2. この値を配列に格納します
  3. inRange関数で配列を呼び出します

誰かがこの問題の解決策を提案したり、答えを探すことができる情報源に私を導いたりできますか?

4

2 に答える 2

0

ボクサーグローブが動いていることを検出しているので、最初にモーションを使用してシーン内の他の要素から分離します...フレームの区別またはオプティカルフローを使用して、グローブと他の移動領域を非移動領域から分離します...エリアは、いくつかの色の検出を試みます...

于 2013-02-08T06:29:26.180 に答える
0
  1. 光度と色度を分離する - 固定範囲は、異なる光条件ではうまく機能しません。暗所と明所で「青」を同時に見ようとしているためか、範囲が広いのでしょう。画像を HSV (または La*b*) に変換し、V (または L) を破棄し、H と S (または a* と b*) を保持します。

  2. 単純な範囲ではなく、色の分布を学習します。いくつかのサンプルを取得し、手袋のピクセルの H と S (a* または b*) で 2D カラー ヒストグラムを計算します。このヒストグラムは、オブジェクトの色分布のモデルになります。次に、c2.calcBackProjectionを使用して、シーン内の対象ピクセルを検出します。

  3. モルフォロジー クローズ操作を使用して結果をクリーンアップする

重要: ステップ 2 では、異なる量子化値 (つまり、異なる数のビン) で少し遊んでください。

于 2013-02-08T11:01:30.167 に答える