霍夫圆检测
    函数原型

    1. public static CircleSegment[] HoughCircles(InputArray image,
    2. HoughMethods method,
    3. double dp,
    4. double minDist,
    5. double param1 = 100,
    6. double param2 = 100,
    7. int minRadius = 0,
    8. int maxRadius = 0);

    返回值: CircleSegment[], 包含圆心,半径
    image: 输入图像,单通道,灰度图像
    method: 霍夫变换方法,HoughCirclesMethod.Gradient
    dp: 用来检测圆心的累加器图像的分辨率与图像之比的倒数,且此参数允许创建一个比输入图像分辨率较低的累加器,如,dp=1累加器和输入图像具有相同的分辨率,dp=2累加器只有输入图像一半大的宽度和高度
    minDist: 霍夫变换检测到圆的圆心之间的最小距离,用来分辨不同的圆
    param1: 第一个方法特定的参数。[默认值是100],边缘检测的低阈值
    param2 : 第二个方法特定于参数。 [默认值是100],中心点累加器阈值,候选圆心
    minRadius : 最小半径
    maxRadius : 最大半径

    以下代码,有的是无用的

    1. private static void HoughCircular()
    2. {
    3. Mat src = new Mat(@"I:\OpenCvSharp学习\气泡.jpg", ImreadModes.AnyColor);
    4. Mat Gray = new Mat();
    5. Mat Canny = new Mat();
    6. Mat Threthold = new Mat(src.Size(), MatType.CV_8UC3, Scalar.White);
    7. Mat Result = new Mat(src.Size(), MatType.CV_8UC3, Scalar.White);
    8. //灰度化
    9. Cv2.CvtColor(src, Gray, ColorConversionCodes.RGB2GRAY);
    10. //二值化
    11. Cv2.Threshold(Gray, Threthold, 100, 255, ThresholdTypes.Binary);
    12. Cv2.Canny(Threthold, Canny, 60, 200, 3, false);
    13. CircleSegment[] circle;
    14. circle = Cv2.HoughCircles(Gray, HoughMethods.Gradient, 1, 30, 100, 30, 1, 100);
    15. Scalar Colar = new Scalar(0, 255, 0);
    16. Scalar Colar1 = new Scalar(0,0,255);
    17. for (int i = 0; i < circle.Length; i++)
    18. {
    19. int X = (int)circle[i].Center.X;
    20. int Y = (int)circle[i].Center.Y;
    21. int a = (int) circle[i].Radius;
    22. Cv2.Circle(src,X,Y,a,Colar,2,LineTypes.Link8);//圆
    23. Cv2.Circle(src, X, Y, 2, Colar1, 2, LineTypes.Link8);//圆心
    24. }
    25. Window Win1 = new Window("src", WindowMode.AutoSize, src);
    26. Window Win2 = new Window("Gray", WindowMode.AutoSize, Gray);
    27. Window Win4 = new Window("Canny", WindowMode.AutoSize, Canny);
    28. Window Win5 = new Window("Result", WindowMode.AutoSize, src);
    29. Cv2.WaitKey(0);
    30. }

    image.png