Для преобразования круга Хафа, когда я обнаружил круг, как я могу получить значение радиуса круга и центральной точки? Я делаю систему распознавания радужной оболочки.
CvSeq* circles = cvHoughCircles(grayscaleImg,
storage,
CV_HOUGH_GRADIENT,
2,
grayscaleImg->height/4,
200,
100 );
for (i = 0; i < circles->total; i++)
{
float* p = (float*)cvGetSeqElem( circles, i );
cvCircle( capturedImg, cvPoint(cvRound(p[0]),cvRound(p[1])),
3, CV_RGB(0,255,0), -1, 8, 0 );
cvCircle( capturedImg, cvPoint(cvRound(p[0]),cvRound(p[1])),
cvRound(p[2]), CV_RGB(0,0,255), 3, 8, 0 );
}
Центральная точка: cvPoint(cvRound(p[0]),cvRound(p[1]))
Радиус: cvRound(p[2])
Других решений пока нет …