在不使用Hough变换的情况下在图像中查找圆圈

时间:2014-07-18 09:10:07

标签: image opencv processing

我想在下面的图片中找到圈子。我尝试使用OpenCV' Hough circle detection但是没有给出正确的结果。

还有其他方法可以找到圈子吗?

enter image description here

以下是示例代码

vector<Vec3f> circles;
Mat src_gray,te; 
cvtColor(tImg, src_gray, CV_BGR2GRAY);
GaussianBlur(src_gray, src_gray, Size(9, 9), 2, 2);
Canny(src_gray, te, 40, 240, 3);
/// Apply the Hough Transform to find the circles 
HoughCircles(te, circles, CV_HOUGH_GRADIENT, 1, te.rows / 10, 120, 9, 5, 25); 

1 个答案:

答案 0 :(得分:1)

取轮廓,
1.找到轮廓的质心
2.找到从质心到每个轮廓像素的距离 3.如果这个距离几乎相同那么它就是一个圆圈。

See This link