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();
        }
    }
}

}

0 ответов

Другие вопросы по тегам