代码之家  ›  专栏  ›  技术社区  ›  Mel

使用Pycharm,如何使用Hough圆(在openCV 2.4中)?[重复]

  •  0
  • Mel  · 技术社区  · 8 年前

    我有下面的代码,我想检测这个圆。

       img = cv2.imread("act_circle.png")
       gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
       circles = cv2.HoughCircles(gray,cv2.CV_HOUGH_GRADIENT)
    

    看起来它没有该属性,错误如下

    'module' object has no attribute 'CV_HOUGH_GRADIENT'
    

    有人知道隐藏的参数在哪里吗?

    谢谢

    0 回复  |  直到 13 年前
        1
  •  19
  •   jam    12 年前

    CV_HOUGH_GRADIENT 属于 cv 模块,所以您需要导入:

    import cv2.cv as cv
    

    并将函数调用更改为

    circles = cv2.HoughCircles(gray,cv.CV_HOUGH_GRADIENT)
    
        2
  •  17
  •   Brian Burns Yugansh    10 年前

    就我而言,我使用的是opencv 3.0.0,其工作方式如下:

    circles = cv2.HoughCircles(gray_im, cv2.HOUGH_GRADIENT, 2, 10, np.array([]), 20, 60, m/10)[0]  
    

    i、 e.代替 cv2.cv.CV_HOUGH_GRADIENT ,我刚刚用过 cv2.HOUGH_GRADIENT .

        3
  •  5
  •   Kevin Patel    10 年前

    如果使用OpenCV 3,请使用以下代码:

    img = cv2.imread("act_circle.png")
    gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    circles = cv2.HoughCircles(gray,cv2.HOUGH_GRADIENT) # change here