将HoughCircles与Python OpenCV结合使用时出现错误,提示缺少模块

发布于 2021-01-29 14:58:35

这个问题已经在这里有了答案

如何在Cv2中使用Hough圈和python? (3个答案)

5年前关闭。

我有一个小的测试代码块,试图处理其中一个带球的简单照片:

#!/usr/local/bin/python
import cv2
import numpy as np

img = cv2.imread("b.jpg")
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
circles = cv2.HoughCircles(gray,cv2.CV_HOUGH_GRADIENT)

当我尝试运行此命令时,我得到:

AttributeError:“模块”对象没有属性“ HOUGH_GRADIENT”

我已经安装和重新安装了两天,试图找出问题所在。任何帮助或指针,将不胜感激!

关注者
0
被浏览
84
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    添加此行:import cv2.cv as cv并更改circles

    circles = cv2.HoughCircles(gray,cv.CV_HOUGH_GRADIENT)

    cv.CV_HOUGH_GRADIENT代替cv2.CV_HOUGH_GRADIENT

    这将解决AttributeError您遇到的问题,但仍然会出现类型错误,您必须提供dpand的minDist 参数(在pos 3和pos
    4的参数)​​,并可以据此给出。(这里我给出了1和10)

    #!/usr/local/bin/python
    import cv2
    import cv2.cv as cv
    import numpy as np
    
    img = cv2.imread("test.jpg")
    gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    circles = cv2.HoughCircles(gray,cv.CV_HOUGH_GRADIENT, 1, 10)
    

    还请参见此处解决的类似问题:

    http://answers.opencv.org/question/1497/errors-with-
    cv2houghcircles/



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看