首页 > 解决方案 > 如何使用 Aforge 计算图像上的矩形数量

问题描述

我正在使用 aforge dll 来检测图像上的矩形。例子:

static void Main(string[] args)
{
    string path = "rectangles.png";
    Bitmap image = (Bitmap)Bitmap.FromFile(path);

    // locating objects
    BlobCounter blobCounter = new BlobCounter();

    blobCounter.FilterBlobs = true;
    blobCounter.MinHeight = 400;
    blobCounter.MinWidth = 600;

    blobCounter.ProcessImage(image);
    Blob[] blobs = blobCounter.GetObjectsInformation();

    // check for rectangles
    SimpleShapeChecker shapeChecker = new SimpleShapeChecker();

    foreach (var blob in blobs)
    {

        List<IntPoint> edgePoints = blobCounter.GetBlobsEdgePoints(blob);
        List<IntPoint> cornerPoints;

        // use the shape checker to extract the corner points
        if (shapeChecker.IsQuadrilateral(edgePoints, out cornerPoints))
        {
            // only do things if the corners form a rectangle
            if (shapeChecker.CheckPolygonSubType(cornerPoints) == PolygonSubType.Rectangle)
            {
                How do i count how many rectangles there is in here
                //List<Point> Points = new List<Point>();

                //foreach (var point in cornerPoints)
                //{

                //}
            }
        }
    }
}

所以在上面我想计算并返回图像中有多少个矩形。在此处输入图像描述

所以我的输出应该是count = 3因为有 3 个矩形。我如何计算它们?

标签: c#blobaforge

解决方案


推荐阅读