2

我想知道 blob 到底是什么?是否可以减少图像中的背景噪音?或者是否有可能在图像中找到最大的区域,更具体地说,如果图像只包含手部和头部段,那么是否可以只分离手部或头部区域?如果这是可能的,那么也可以选择具有较大轮廓的边界,同时消除图像中的小块??

建议我,我有一张只包含手势的图片。我使用皮肤检测技术来做到这一点。但问题是我在图像中有与手(皮肤)颜色相同的其他小噪声。我只想要典型的手势,消除噪音。帮我??

这是一个示例图像,我想在其中去除手部轮廓后面的噪音。

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 回答