Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将HoughCircles与Python OpenCV一起使用时,我发现一个错误,即缺少一个模块_Python_Opencv - Fatal编程技术网

将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)