Slide 136
Slide 136 text
Clustering
private int[] Polygonization(Point[] contour)
{
int[] hullIdx = Cv2.ConvexHullIndices(contour);
Point[] hullPt = Cv2.ConvexHull(contour);
//Terating label numbers of each vertices of hull
int[] labels;
//clustering based on the role written in Predicate
Cv2.Partition(hullPt, out labels, Predicate);
for (int i = 0; i < hullIdx.Length; i++)
{
int index = hullIdx[i];
bgrMat.Circle(contour[index], 10, Scalar.Red, 2);
//Visualization of label number
bgrMat.PutText(labels[i].ToString(), contour[index],
HersheyFonts.HersheyDuplex, 1, Scalar.White);
}
DrawPolyLine(hullPt, Scalar.Blue);
return hullIdx;
}