AttributeError:“module”对象没有“HOUGH_GRADIENT”属性,cv.HOUGH_GRADIENT没有修复问题

2024-09-27 09:29:09 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试运行以下代码时出现属性错误:

import cv2
import cv2.cv as cv
import numpy as np 


def main():
    img = cv2.imread('images/g1.jpg',0);

    print(img)

    img = cv2.medianBlur(img,5)
    cimg = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)

    circles = cv2.HoughCircles(img, cv.HOUGH_GRADIENT, 1, 20, param1=50, param2=30, minRadius=0, maxRadius=0)

    circles = np.uint16(np.around(circles))
    for i in circles[0,:]:
        # draw the outer circle
        cv2.circle(cimg,(i[0],i[1]),i[2],(0,255,0),2)
        # draw the center of the circle
        cv2.circle(cimg,(i[0],i[1]),2,(0,0,255),3)

    cv2.imshow('detected circles',cimg)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

我试图寻找这个问题的解决方案,并用中的cv替换了cv2

circles = cv2.HoughCircles(img, cv.HOUGH_GRADIENT, 1, 20, param1=50, param2=30, minRadius=0, maxRadius=0)

不过,我还是有错误。


Tags: theimportimgas错误npcv2cv
2条回答

新的答案是 circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, 1, 20, param1=50, param2=30, minRadius=0, maxRadius=0) http://answers.opencv.org/question/177506/cv2-has-no-attribute-cv_hough_gradient/

问题是属性是

cv.CV_HOUGH_GRADIENT

所以你必须这么做

circles = cv2.HoughCircles(img, cv.CV_HOUGH_GRADIENT, 1, 20, param1=50, param2=30, minRadius=0, maxRadius=0)

相关问题 更多 >

    热门问题