社区
其它技术问题
帖子详情
OpenCV中霍夫圆检测为什么总得到不存在的圆?
KawhiGuo
2017-07-14 10:10:23
如题,
...全文
2422
3
打赏
收藏
OpenCV中霍夫圆检测为什么总得到不存在的圆?
如题,
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
to_better_Polaris
2019-05-13
打赏
举报
回复
题主用的是opencv中的库函数吗?我觉得应该是你的参数设置没有调好,cv2.HoughCircles(image,method,dp,minDist, circles,param1, param2,minRadius,maxRadius)。建议你调一下函数中的param2,param2越大,检测到的圆越少越可靠;param2越小,检测到的圆越多,越不可靠。
WNANPHOTO
2018-10-04
打赏
举报
回复
霍夫圆检测对于噪声比较敏感,所以首先要对图像进行中值滤波,然后转为灰度图像。
楼主可以参考一下这段代码:
#include <opencv2\opencv.hpp>
#include <iostream>
#include <math.h>
using namespace std;
using namespace cv;
int main(int argc, char** argv) {
Mat src, dst;
src = imread("F:/AI Course/openCVTest/images/circle03.png");
if (!src.data) {
cout << "could not load the image..." << endl;
return -1;
}
char input[] = "Input Image";
char output[] = "Hough circle demo";
namedWindow(input, CV_WINDOW_AUTOSIZE);
namedWindow(output, CV_WINDOW_AUTOSIZE);
imshow(input, src);
//中值滤波
Mat midout;
medianBlur(src, midout, 3);
cvtColor(midout, midout, CV_BGR2GRAY);
//霍夫圆检测
vector<Vec3f>pcircle;
HoughCircles(midout, pcircle, CV_HOUGH_GRADIENT, 1, 10, 100, 30, 5, 50);
src.copyTo(dst); //将原图复制到dst图上
for (size_t i = 0; i < pcircle.size(); i++) {
Vec3f cc = pcircle[i];
circle(dst, Point(cc[0], cc[1]), cc[2], Scalar(0, 0, 255), 2, LINE_AA); // 绘制圆
circle(dst, Point(cc[0], cc[1]), 2, Scalar(198, 23, 255), 2, LINE_AA); // 绘制圆心
}
imshow(output, dst);
waitKey(0);
return 0;
}
影醉阏轩窗
2017-08-01
打赏
举报
回复
没有预处理当然不行啊!给你参考:
http://www.cnblogs.com/wjy-lulu/p/6677280.html
OpenCV
霍夫
圆
检测
调参心得
本文介绍使用
OpenCV
进行
霍夫
圆
检测
的过程,重点讨论如何通过调整参数找到特定目标。作者分享了从
霍夫
圆
检测
到后续特殊点定位的经验,并探讨了多种实现方案。
霍夫
圆
检测
(HoughCircles)
这篇博客介绍了
霍夫
圆
检测
的原理及其在
OpenCV
中
的应用。通过霍夫变换,将平面坐标转换为极坐标来
检测
图像
中
的
圆
。代码示例展示了如何使用
OpenCV
的HoughCircles函数,对图像进行预处理,然后
检测
并绘制出
圆
。参数如dp、minDist、param1和param2等对
检测
效果有直接影响。
opencv
十一
霍夫
圆
检测
原理及高级使用案例(含优化步骤)
本文对
OpenCV
霍夫
圆
检测
的原理、参数及优化经验进行分析。介绍了
霍夫
圆
检测
与霍夫变换的关系,阐述霍夫梯度法原理、缺点及参数详情。还给出基本运行代码,并从图像优化和
检测
参数优化两方面提出优化方案,实现复杂背景下的
圆
检测
。
OpenCV
基于Python
霍夫
圆
检测
—基于梯度的
霍夫
圆
检测
本文介绍了基于梯度的
霍夫
圆
检测
,它是对标准
霍夫
圆
检测
的改进。分析了其原理,通过尺规作图类比,阐述如何根据点和梯度方向定位
圆
心与计算半径。给出
检测
步骤,介绍了
检测
函数HoughCircles及参数,还进行代码演示,指出需多次调参才能获理想结果。
opencv
使用
霍夫
圆
算法HoughCircles进行
圆
检测
本文详细介绍了
霍夫
圆
变换的基本原理及其在
OpenCV
中
的应用。包括霍夫梯度法的具体步骤,如
圆
心和半径估计的过程,以及该方法的优缺点。同时,还深入解析了HoughCircles函数的各个参数,如dp、minDist等,帮助读者掌握
圆
检测
技巧。
其它技术问题
3,881
社区成员
9,044
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章