将HoughCircles与Python OpenCV结合使用时出现错误,提示缺少模块
这个问题已经在这里有了答案 :
如何在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”
我已经安装和重新安装了两天,试图找出问题所在。任何帮助或指针,将不胜感激!
-
添加此行:
import cv2.cv as cv
并更改circles
circles = cv2.HoughCircles(gray,cv.CV_HOUGH_GRADIENT)
即
cv.CV_HOUGH_GRADIENT
代替cv2.CV_HOUGH_GRADIENT
这将解决
AttributeError
您遇到的问题,但仍然会出现类型错误,您必须提供dp
and的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/