如何获得圆的半径值

时间:2012-10-06 15:28:12

标签: c++ opencv gaussian hough-transform iris-recognition

对于Hough圆转换,当我检测到圆时,如何获得圆的半径和中心点的值?我正在做一个虹膜识别系统。

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

1 个答案:

答案 0 :(得分:2)

中心点:cvPoint(cvRound(p[0]),cvRound(p[1]))

半径:cvRound(p[2])