-1

私はMatlabが初めてで、このような画像を入力するプロジェクトに取り組んでいます 背景が青色のパスポート画像

ご覧のとおり、無地の背景(青)があり、システムは指定された比率でパスポートサイズの画像を生成します。最初に背景と人物を分離するために取り組んでいます。検索したアプローチは、rgbマトリックスの組み合わせに青がある場合のようです画像の場合、それは背景であり、残りは人ですが、このアプローチが正しいかどうか、正しい場合、現在のピクセルが青かどうかをどのように確認できるか、どうすればよいか、少し混乱していますそれをmatlab関数でfind。どんな助けでも大歓迎です。

4

1 に答える 1

2

If you want to crop your image based on person's face, then there is no need in separating the background from the foreground. Nowadays you will easily find ready implementations of face detection, so, unless you want to implement your own method because the ready one fails, this should be a non-issue. See:

Show[img, 
 Graphics[{EdgeForm[{Yellow, Thick}], Opacity[0], 
   Rectangle @@@ 
    FindFaces[img = Import["http://i.stack.imgur.com/cSwzj.jpg"]]}]]

enter image description here

Supposing the face is detected correctly, you can expand/retract its bounding box to match the size you are after.

于 2013-01-19T21:11:00.387 に答える