Я использую 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 прямоугольника. Как мне их посчитать?