2

私はブロブが正確に何であるかについて疑問に思っていますか?画像のバックグラウンドノイズを減らすことは可能ですか?または、画像内で最大の領域を見つけることは可能ですか?より具体的には、画像に手と頭のセグメントのみが含まれている場合、手または頭の領域のみを分離することは可能ですか?これが可能であれば、画像内の小さなパッチを排除しながら、より大きな輪郭を持つ境界を選択することも可能です

私に提案してください、私は手のジェスチャーだけを含む画像を持っています。私はそうするために皮膚検出技術を使用しました。しかし、問題は、手(SKIN)と同じ色の小さな他のノイズが画像にあることです。ノイズを取り除いた、一般的な手のジェスチャーのみが必要です。助けて??

これは、手の輪郭の背後にあるノイズを除去したいサンプル画像です。

4

2 に答える 2

1

aforgeの例を使用すると、画像から小さなビットをクリアできない理由はありますか?

// create an instance of blob counter algorithm
BlobCounterBase bc = new ...
// set filtering options
bc.FilterBlobs = true;
bc.MinWidth  = 5;
bc.MinHeight = 5;
// process binary image
bc.ProcessImage( image );
Blob[] blobs = bc.GetObjects( image, false );
// process blobs
var rectanglesToClear = from blob in blobs select blob.Rectangle;

 using (var gfx = Graphics.FromImage(image))
 {
    foreach(var rect in rectanglesToClear) 
    {
        if (rect.Height < someMaxHeight && rect.Width < someMaxWidth)
            gfx.FillRectangle(Brushes.Black, rect);
    }
  gfx.Flush();
 }
于 2012-07-24T14:24:35.670 に答える
0

形態学的な開口部を見てください。これにより、侵食とそれに続く拡張が実行され、サイズ(および形状)を指定できる「構造要素」よりも小さい前景/背景の領域が本質的に削除されます。

aforgeはわかりませんが、Matlabでは参照がここにあり、OpenCVではここを参照してください

于 2012-07-24T15:03:44.213 に答える