-1

シャツ幅の線を描くには、脇の下のポイントを見つける必要があります (これらのリンクの写真を参照してください:

  1. 写真1
  2. 写真2

私の考えは、最初に脇の下のポイントを含む領域を見つけようとし、後でハリスアルゴリズムを使用してその脇の下のポイントを見つけることです。そうしてもいいですか?それでよろしければ、どのようなアルゴリズムを使用できますか? ハールらしい特徴を思い浮かべます。もう 1 つは、ゾーン フィーチャ (ゾーン フィーチャ セクション内) である可能性があります。

4

1 に答える 1

3

あなたが言及するすべてのアルゴリズムは、単純なタスクにはやり過ぎかもしれません。

@blackSmithが言ったように、形態学的演算子は機能し、良い考えです:

バイナリを抽出したら (最初の写真のように輪郭しかない場合はフラッド フィルを実行します)、クロージングを実行し、そこから元のバイナリを差し引くことができます。残りのポイントが脇の下の小さな角度だけになるように、モルフォロジー オペレーターを選択します。

それは本当に簡単です。ここにいくつかの擬似コードがあります:

TestImage=Threshold(TestImage,0.3)

ここに画像の説明を入力

strel1=strel('square',25); // Create some structural elements. 25x25, very big!

strel2=strel('disk',25); // A circular element is good to close corners

TestImage=imopen(TestImage,strel1); //Gets rid of smaller particles

OpenImage=imopen(TestImage,strel2); //Closes the corners=>armpits

AddLayer=(TestImage-OpenImage); //Mark corners on original image

strel3=strel('disk',9);

AddLayer=imclose(AddLayer,strel3); //get rid of smaller areas

AddLayer=imdilate(AddLayer,strel3); //Not necessary but makes my point clearer

ここに画像の説明を入力

TestImageO(:,:,1)=TestImageO(:,:,1)+255*AddLayer; // Mark it on the original image

ここに画像の説明を入力

于 2013-08-20T12:58:45.397 に答える