本文整理汇总了C#中AForge.Imaging.BlobCounter.GetObjectRectangles方法的典型用法代码示例。如果您正苦于以下问题:C# BlobCounter.GetObjectRectangles方法的具体用法?C# BlobCounter.GetObjectRectangles怎么用?C# BlobCounter.GetObjectRectangles使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AForge.Imaging.BlobCounter
的用法示例。
在下文中一共展示了BlobCounter.GetObjectRectangles方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: runConectedComponentsAlgorithm
/// <summary>
/// Merges blobs that are close to each other.
/// </summary>
/// <param name="value">The blobs found after running connected componenets algorithm.</param>
/// <returns></returns>
// private ArrayList<ExtendedBlob> mergeBlobs(ArrayList<ExtendedBlob> value)
// {
// /*
// * Using a very simple methology of merging.
// * Search all blobs that in close proximity of x pixels.
// */
// ICollection<ExtendedBlob> intermediateValues =
// new ArrayList<ExtendedBlob>(value.Count);
// int x = 10;
// ExtendedBlob closeToMe = value.RemoveAt(0);
// while(!value.IsEmpty)
// {
// for (int i = 0; i < value.Count; i++)
// {
// Rectangle mergeRectangle = closeToMe.Rectangle;
// mergeRectangle.Width += x;
// mergeRectangle.Height += x;
// if (mergeRectangle.IntersectsWith(value[i].Rectangle))
// {
//
// closeToMe
// intermediateValues.Add(value[i]);
// }
// }
// }
//
// }
/// <summary>
/// Runs the conected components algorithm.
/// </summary>
/// <param name="image">The image on which to run the algorithms.</param>
/// <returns></returns>
private List<ExtendedBlob> runConectedComponentsAlgorithm(Bitmap image)
{
blobCounter = new BlobCounter(image);
Blob[] blobs = blobCounter.GetObjects(image);
Rectangle[] rects = blobCounter.GetObjectRectangles();
List<ExtendedBlob> returnValue = new List<ExtendedBlob>(blobs.Length);
for (int i = 0; i < blobs.Length; i++ )
{
// Use adapter method and convert blobs to extended blobs.
returnValue.Add(new ExtendedBlob(blobs[i], null, Unknown.GetInstance(), rects[i]));
}
return returnValue;
}