我想找到下图中的圆圈。我尝试使用 OpenCV 的 Hough circle detection但它没有给出正确的结果。
还有其他方法可以找到圈子吗?
这里是示例代码
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.找到轮廓的质心
2. 求质心到每个轮廓像素的距离。
3.如果这个距离几乎相同,那么它就是一个圆。
关于image - 在不使用 Hough 变换的情况下查找图像中的圆圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24821280/