c++ - 如何获取圆的半径值

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

对于霍夫圆变换,当我检测到圆时,如何获取圆的半径值和圆心?我正在做一个虹膜识别系统。

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])

关于c++ - 如何获取圆的半径值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12761091/

相关文章:

c++ - 函数内部的 copyTo() 与 clone() ?

python - 生成一个范围内日期的正态分布

c++ - 核密度估计器(使用高斯核)和 f(x) = 1?

c++ - 使用派生类自动转换

c++ - 什么是针对 C++ 中的大小写的字符串的许多子字符串的有效方法?

python - 使用 wxpython 闪烁显示网络摄像头视频

Python:找到两条高斯曲线的交点

C++ 打印缓慢但在用户按 enter 或任何东西时跳过。虽然不应该等待

c++ - 重载分辨率和数组 : which function should be called?

python - 如何通过检测直线检测主体结构轮廓