企业商务网站 建设方案,上海集团网站建设价格,郑州最好的妇科医院排行,厦门的网站建设公司文章目录 cv::HoughCircles算子参数示例 cv::HoughCircles 因为霍夫圆检测对噪声比较敏感#xff0c;所以首先要对图像做中值滤波。 基于效率考虑#xff0c;Opencv中实现的霍夫变换圆检测是基于图像梯度的实现#xff0c;分为两步#xff1a; 检测边缘#xff0c;发现可能… 文章目录 cv::HoughCircles算子参数示例 cv::HoughCircles 因为霍夫圆检测对噪声比较敏感所以首先要对图像做中值滤波。 基于效率考虑Opencv中实现的霍夫变换圆检测是基于图像梯度的实现分为两步 检测边缘发现可能的圆心基于第一步的基础上从候选圆心开始计算最佳半径大小 算子参数
HoughCircles(
InputArray image, // 输入图像 ,必须是8位的单通道灰度图像
OutputArray circles, // 输出结果发现的圆信息
Int method, // 方法 - HOUGH_GRADIENT
Double dp, // dp 1;
Double mindist, // 10 最短距离-可以分辨是两个圆的否则认为是同心圆- src_gray.rows/8
Double param1, // canny edge detection low threshold
Double param2, // 中心点累加器阈值 – 候选圆心
Int minradius, // 最小半径
Int maxradius//最大半径
)示例
#include iostream
#include opencv2/opencv.hpp
using namespace std;
using namespace cv;Mat src, src_gray, dst;const char* output_title final image;
int main()
{src imread(test.png);//读取图片if (src.empty()){cout could not load img...;return -1;}namedWindow(output_title);//设置窗口名称imshow(test, src);// 中值滤波Mat moutput;medianBlur(src, moutput, 3);cvtColor(moutput, moutput, COLOR_BGR2GRAY);// 霍夫圆检测vectorVec3f pcircles;HoughCircles(moutput, pcircles, HOUGH_GRADIENT, 1, 10, 100, 30, 5, 50);src.copyTo(dst);for (size_t i 0; i pcircles.size(); i) {Vec3f cc pcircles[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, 155), 2, LINE_AA);}imshow(output_title, dst);waitKey(0);return 0;
}