将HoughCircles与Python OpenCV一起使用时,我发现一个错误,即缺少一个模块
我有一个小的测试代码块,试图处理一张有球的简单照片:将HoughCircles与Python OpenCV一起使用时,我发现一个错误,即缺少一个模块,python,opencv,Python,Opencv,我有一个小的测试代码块,试图处理一张有球的简单照片: #!/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:“module”对象没
#!/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:“module”对象没有属性“HOUGH_GRADIENT”
我已经安装和重新安装了两天,试图找出问题所在。
任何帮助或指点都将不胜感激 添加此行:
将cv2.cv导入为cv
并更改圆圈
circles=cv2.HoughCircles(灰色,cv.cv\u HOUGH\u渐变)
i、 e.cv.cv\u-HOUGH\u梯度
代替cv2.cv\u-HOUGH\u梯度
这将解决您得到的AttributeError
,但仍然会得到一个类型错误,您必须为dp
和minDist
提供参数
(第3位和第4位的论点)并且你可以相应地给出。(这里我给出了1和10)
另外,请参见此处解决的类似问题:
试试看
圆=cv2.HoughCircles(灰色,cv2.cv.cv\u HOUGH\u渐变T,1.2,75)
有效,对我来说您使用的是哪个版本的OpenCV?最近的OpenCV更改了界面。现在正确的习惯用法是:
circles=cv2.HoughCircles(gray,cv2.HOUGH_GRADIENT,1.2,75)
#!/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)