AForge.net - BlobCounter在2张图片之间获得不同的“区域”

时间:2014-12-02 09:11:58

标签: .net image-processing aforge

我试图写一些可以接受2张图像的东西并返回一个数组(或某种类型的集合),每个元素代表图像之间的差异。

例如,如果我有一张背景照片和一名男子站在源图像的右侧,而不是同一张照片,但与第一张照片的不同之处在于该男子站在左侧比我将有一个1的集合返回给我,其中XY坐标开始变化,变化的宽度和高度。

我发现AForge有一个BlobCounter类用于此目的,但无法准确理解我应该给它的内容 - 在文档中的示例(http://www.aforgenet.com/framework/docs/html/d7d5c028-7a23-e27d-ffd0-5df57cbd31a6.htm)中我只看到处理一张图片 - 但不是比较。我无法找到更好的例子。

我在这里缺少什么(我是图像处理的新手)。

1 个答案:

答案 0 :(得分:1)

通过此处的帖子找到解决方案:Aforge Blob Detection以及BlobCounters

这是我的解决方案:

// create filter
ThresholdedDifference filter = new ThresholdedDifference(60);
// apply the filter
filter.OverlayImage = currentImg;
Bitmap resultImage = filter.Apply(_lastImg);

// create an instance of blob counter algorithm
BlobCounter bc = new BlobCounter();
// process binary image
bc.ProcessImage(resultImage);
Rectangle[] rects = bc.GetObjectsRectangles();
// process blobs
foreach (Rectangle rect in rects)
{
    string a = String.Empty;
}