|
8
ISSN 2616-8901.
Математика және жаратылыстану-техникалық сериясы
№ 4/ 2018
}
#endregion
if (isRectangle)
boxList.Add(CvInvoke.MinAreaRect(approxContour));
}
}
}
}
}
watch.Stop();
msgBuilder.Append(String.Format("Triangles
&
Rectangles
-
{0}
ms;
",
watch.ElapsedMilliseconds));
#endregion
originalImageBox.Image = img;
this.Text = msgBuilder.ToString();
Жадта сақталған пішіндерді экран бетіне салатын код, үшбұрыштар мен
төртбұрыштар үшін:
#region draw triangles and rectangles
Mat triangleRectangleImage = new Mat(img.Size, DepthType.Cv8U, 3);
triangleRectangleImage.SetTo(new MCvScalar(0));
foreach (Triangle2DF triangle in triangleList)
{
CvInvoke.Polylines(triangleRectangleImage,
Array.ConvertAll(triangle.GetVertices(), Point.Round), true, new
Bgr(Color.DarkBlue).MCvScalar, 2);
}
foreach (RotatedRect box in boxList)
{
CvInvoke.Polylines(triangleRectangleImage,
Array.ConvertAll(box.GetVertices(), Point.Round), true, new
Bgr(Color.DarkOrange).MCvScalar, 2);
}
triangleRectangleImageBox.Image = triangleRectangleImage;
#endregion
Сызықтар үшін:
#region draw lines
Mat lineImage = new Mat(img.Size, DepthType.Cv8U, 3);
lineImage.SetTo(new MCvScalar(0));
foreach (LineSegment2D line in lines)
CvInvoke.Line(lineImage, line.P1, line.P2, new
Bgr(Color.Green).MCvScalar, 2);
lineImageBox.Image = lineImage;
#endregion
Дөңгелек пішін үшін:
#region draw circles
Mat circleImage = new Mat(img.Size, DepthType.Cv8U, 3);
circleImage.SetTo(new MCvScalar(0));
foreach (CircleF circle in circles)
CvInvoke.Circle(circleImage, Point.Round(circle.Center), (int)
circle.Radius, new Bgr(Color.Brown).MCvScalar, 2);
circleImageBox.Image = circleImage;
#endregion
|
|
|