【问题标题】:Opencv hough circle not detecting circlesOpencv霍夫圆没有检测到圆
【发布时间】:2019-04-14 04:27:35
【问题描述】:

我正在尝试检测交通灯内的圆圈,我只能检测到 2 个圆圈中的 1 个,而且我得到的圆圈的大小似乎太大了

输入图片: https://i.imgur.com/VkNDt2B.png

输出图片: https://i.imgur.com/BBq5tE0.png

int main()
{
    Mat src, gray;
    src = imread("C:\/test_image2.png", 1);
    resize(src, src, Size(640, 480));

    cvtColor(src, gray, CV_BGR2GRAY);

    // Reduce the noise so we avoid false circle detection
    GaussianBlur(gray, gray, Size(9, 9), 2, 2);

    vector<Vec3f> circles;

    // Apply the Hough Transform to find the circles
    HoughCircles(gray, circles, CV_HOUGH_GRADIENT, 1, 60, 200, 20, 0, 35);

    // Draw the circles detected
    for (size_t i = 0; i < circles.size(); i++)
    {
        Point center(cvRound(circles[i][0]), cvRound(circles[i][1]));
        int radius = cvRound(circles[i][2]);
        circle(src, center, 3, Scalar(0, 255, 0), -1, 8, 0);// circle center     
        circle(src, center, radius, Scalar(0, 0, 255), 3, 8, 0);// circle outline
        cout << "center : " << center << "\nradius : " << radius << endl;
    }

    // Show your results
    namedWindow("Hough Circle Transform Demo", CV_WINDOW_AUTOSIZE);
    imshow("Hough Circle Transform Demo", src);

    waitKey(0);
    return 0;
}

【问题讨论】:

    标签: c++ opencv image-processing hough-transform


    【解决方案1】:

    如果您事先知道要查找的圆圈的大致大小,HoughCircles 效果最好。我建议您为 min_radius 和 max_radius 参数提供更好的值。 在任何情况下,您都需要使用 param1 和 param2 参数。如果圆圈不是完美的圆圈,您可以尝试使用 dp 参数降低图像分辨率(例如,当 dp = 2 时,图像会缩小到其分辨率的一半)。 基本上:使用 param1 和 param2 直到检测到您的圈子,无论是否检测到其他圈子。使用此结果找出您的圆圈的半径,然后修复最小和最大半径以删除您不想要的大多数圆圈,最后再次使用 param1 和 param2 直到只剩下您的圆圈。

    【讨论】:

      【解决方案2】:

      这是一个非常大的图像 尝试首先裁剪到红绿灯部分(以开始使用),然后尝试 min_distance 和 param_1,param_2 参数的不同组合,尝试检测到大多数圆圈(甚至是错误的圆圈)。找出哪些值得到的圆圈最多,哪些组合得到的圆圈最少(或没有),然后微调参数以检测到较小的圆圈,最后找到完美的组合

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-01-03
        • 1970-01-01
        • 1970-01-01
        • 2014-05-12
        • 2016-05-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多