0

これが画像であるかのように、画像から背景を抽出するMATLABのプロジェクトに取り組んでいます

サンプル画像

背景(青い部分)や人物の画像の位置/座標を教えてくれるはずです。これまでのところ計算しました

1)キャニーを使用したエッジ

2)連結成分

詳細な作業、アルゴリズム、または論文はありますか?だから私はそれをすることができます。

編集

私が直面している問題は、エッジを検出すると画像が得られることです。したがって、値(黒色)binaryを持つすべてのピクセルが私の背景であると仮定すると、 I(r、c)が人の一部であるとどのように区別できますかまたは背景の一部?0

4

1 に答える 1

1

これはそれを行うための1つの方法にすぎませんが、機能するはずです。

次の値で行列を作成できると仮定します。

1 if it is (in the range of) your background color
0 otherwise

そして、背景が人の「外側」にあると仮定すると(背景の周りに髪の毛が少しある場合でも機能する可能性があります)、何かが背景であるかどうかを確認する簡単な方法は次のようになります。

  1. マトリックス内の各ピクセルの近傍を観察します
  2. 平均値が十分に高い場合(たとえば0.2を超える場合)、それが背景ピクセルであると想定します。そうでない場合は、非背景ピクセルであると想定します。
  3. 結果を新しいマトリックスに保存すると、背景ピクセルのすべての位置がわかります

これまでのところ、それは非常に単純であり、すでにエッジを計算しているという事実さえ使用していません。これらのエッジを使用して、次の改善を行うことができます。

ピクセルがエッジの「内側」に十分にある場合(より単純:エッジの中心に十分に近い)、それを背景の候補とは見なさないでください。これは、誰かが大きな青い目をしている場合に役立ちます。

于 2013-01-18T14:58:34.293 に答える