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

标签 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.找到轮廓的质心
2. 求质心到每个轮廓像素的距离。
3.如果这个距离几乎相同,那么它就是一个圆。

See This link

关于image - 在不使用 Hough 变换的情况下查找图像中的圆圈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24821280/

相关文章:

css - 仅使用 CSS 的最大高度和最大宽度

javascript - 使图像随机 move onclick

c++ - 使用openCV捕获相机帧的延迟

opencv - 如何在opencv中计算凸包的伸长率?

python - 无法在Anaconda中导入openCV

image - 图像链接中的 html/css 透明度不可点击

css - Flexbox - 图像溢出

java - 检测线的交叉点

java - 处理中点到直线的正交投影?

optimization - 优化代码生成静态