我有一个小的测试代码块试图处理一个带有球的简单照片:
#!/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)
Run Code Online (Sandbox Code Playgroud)
当我尝试运行时,我得到:
AttributeError:'module'对象没有属性'HOUGH_GRADIENT'
我已经安装并重新安装了两天,试图弄清楚什么是错的.任何帮助或指针将不胜感激!
Vip*_*pul 10
添加此行:import cv2.cv as cv并更改circles
circles = cv2.HoughCircles(gray,cv.CV_HOUGH_GRADIENT)
即cv.CV_HOUGH_GRADIENT代替cv2.CV_HOUGH_GRADIENT
这将解决AttributeError你得到的问题,但你仍然会得到一个类型错误,你必须提供参数dp和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)
Run Code Online (Sandbox Code Playgroud)
还请看这里解决的类似问题:
http://answers.opencv.org/question/1497/errors-with-cv2houghcircles/
尝试
circles = cv2.HoughCircles(grey,cv2.cv.CV_HOUGH_GRADIEN T,1.2,75)
对我有用
| 归档时间: |
|
| 查看次数: |
16587 次 |
| 最近记录: |