【发布时间】:2013-11-18 08:30:00
【问题描述】:
我正在使用此代码来获取图像中检测到的圆心的坐标。
vector<Vec3f> circles;
cv::HoughCircles( t, circles, CV_HOUGH_GRADIENT, 1, t.rows/8, 200, 100, 0, 0 );
for( size_t i = 0; i < circles.size(); i++ ){
Point center(cvRound(circles[i][0]), cvRound(circles[i][1]));
cout << "center" << center << endl;
int radius = cvRound(circles[i][2]);
// circle center
circle( t2, center, 3, 1 , -1, 8, 0 );
// circle outline
circle( t2, center, radius, 1 , 3, 8, 0 );
}
imshow( "circles", t2 );
我可以检测到圆圈,但没有得到任何中心点坐标的结果:(
提前致谢。
改版后:
我添加了这一行,但答案为零。
cout << "number of circles found: " << circles.size() << endl;
图片: 第一个是主圆,第二个是应用高斯滤波器和 HoughCircles 函数后的:
【问题讨论】: