使用AForge找到blob边缘坐标的平均值?

时间:2013-09-20 18:53:36

标签: c# aforge

我试图找到给定位图图像中blob的x和y坐标的平均值。据我所知,我应该使用

BlobCounter blobCounter = new BlobCounter();
blobCounter.ProcessImage((Bitmap)pictureBox1.Image);
Blob[] blobs = blobCounter.GetObjectsInformation();
foreach (Blob blob in blobs)
{
     blobCounter.GetBlobsLeftAndRightEdges(Blob blob, out leftPoints, out rightPoints);

}

但是a),我得到一个错误,说“方法GetBlobsLeftAndRightEdges没有超载需要1个参数”,而b),我不知道从那里去哪里。有什么帮助吗?

3 个答案:

答案 0 :(得分:0)

你试着用尺寸信息填充数组

之类的东西

public Rectangle [] Blobcounter.GetObjectsRectangles()?

答案 1 :(得分:0)

我不确定为什么你想要平均X&所有blob的Y坐标,只是为了帮助你更好。但无论如何,如果你想要每个blob的X和Y坐标,你可以用以下代码替换for循环中的代码:

Rectangle rect = blob.Rectangle;

rect提供X和Y属性来获取blob的X和Y坐标以及一些可以帮助您进一步处理的属性。

答案 2 :(得分:0)

以下将解决您的错误a):

在执行leftPoints方法时声明rightPointsBlob列表变量并删除类名blobCounter.GetBlobsLeftAndRightEdges

BlobCounter blobCounter = new BlobCounter();
blobCounter.ProcessImage((Bitmap)pictureBox1.Image);
Blob[] blobs = blobCounter.GetObjectsInformation();

List<IntPoint> leftPoints;
List<IntPoint> rightPoints;

foreach (Blob blob in blobs)
{
     blobCounter.GetBlobsLeftAndRightEdges(blob, out leftPoints, out rightPoints);
}