Opencvsharp не берет некоторую координату вершины
Мне бы хотелось узнать координату вершины и нарисовать на ней окружность. Но, как показано ниже, я не смог получить координату треугольника. Я не знаю почему.... Что я должен изменить код ниже? введите описание изображения здесь
class Program
{
static void Main(string[] args)
{
using (IplImage img = new IplImage("C:\\pictures\\sample2.png", LoadMode.Color))
using (IplImage img2 = new IplImage("C:\\pictures\\sample2.png", LoadMode.GrayScale))
using (IplImage binary = img2.Clone())
using (CvMemStorage storage = new CvMemStorage())
{
Cv.Threshold(img2, binary, 0, 255, ThresholdType.Binary | ThresholdType.Otsu);
CvSeq<CvPoint> contours;
// find contours
Cv.FindContours(img2, storage, out contours,CvContour.SizeOf, ContourRetrieval.External, ContourChain.ApproxSimple);
// draw circle on vertex
for (int i = 0; i <= contours.Total;)
{
Console.WriteLine(contours[i]);
Cv.Circle(img, new CvPoint(contours[i].Value.X, contours[i].Value.Y), 5, new CvScalar(0, 0, 255));
i++;
}
// draw contours
Cv.DrawContours(img, contours, new CvScalar(0, 0, 255), new CvScalar(0, 255, 0), 3);
// signate image
Cv.ShowImage("img", img);
Cv.ShowImage("img2", img2);
Cv.ShowImage("binary", binary);
Cv.SaveImage("img.png", img);
Cv.WaitKey();
}
}
}
}