0

私は現在、画像内のカラーブロブの「方向」を決定する必要があるコンピュータビジョンプログラムに取り組んでいます。カラーブロブは一般に楕円形に従うため、時間の経過とともに方向を追跡するために使用できます(最初に定義された/決定された方向に関して)。

方向の変化を計算するための手段は次のとおりです。

  1. 可能な方向(360度)をN方向に量子化します(45度の角度増分の場合は8になる可能性があります)。
  2. カラーブロブの初期状態(t0)を表す保存された行列が与えられた場合、ブロブの現在の状態(tn)を表す行列も取得します。
  3. これらのN方向を反復処理し、その指定された方向のカラー値の最長ストレッチを検索します。(たとえば、楕円が45度回転し、0が垂直である場合、最長の長さは45度のマーク/または225度に起因する必要があります)。

コンセプト自体は複雑ではありませんが、次の問題が発生しています。

  • 画像内の任意の角度での値の最長ストレッチを計算します。これは、0、45、90などの角度では単純ですが、中間の角度ではより困難です。角度を「量子化」することは、私には思ったほど簡単ではありません。

0と90などの角度を区別する際の潜在的な問題について心配する必要はありません。慣性を使用して、カラーブロブの最も可能性の高い方向を決定できます(つまり、過去の方向の状態に基づいて)。

私の主な関心事は、マトリックス内の「最長ストレッチ」を特定することです。

ご協力ありがとうございました!

4

1 に答える 1

1

ここで提案されているように、画像モーメントを使用できます:Matlab-画像モーメント計算

matlabregionpropsでは、プロパティ「Orientation」を使用しますが、前の回答のwiki記事には、選択した言語でコーディングするために必要なすべての情報が記載されているはずです。

于 2012-07-12T15:41:08.667 に答える