我正在研究檢測圖像中的圓形形狀的程序。我決定Hough變換是最好的,我在OpenCV庫中找到了一個。問題是,當我嘗試使用它時,我收到一個錯誤,我不知道如何解決。 OpenCV for Python沒有完全實現嗎?有沒有修復程序工作所需的圖書館?OpenCV Python HoughCircles錯誤
下面的代碼:
import cv
#cv.NamedWindow("camera", 1)
capture = cv.CaptureFromCAM(0)
while True:
img = cv.QueryFrame(capture)
gray = cv.CreateImage(cv.GetSize(img), 8, 1)
edges = cv.CreateImage(cv.GetSize(img), 8, 1)
cv.CvtColor(img, gray, cv.CV_BGR2GRAY)
cv.Canny(gray, edges, 50, 200, 3)
cv.Smooth(gray, gray, cv.CV_GAUSSIAN, 9, 9)
storage = cv.CreateMat(1, 2, cv.CV_32FC3)
#This is the line that throws the error
cv.HoughCircles(edges, storage, cv.CV_HOUGH_GRADIENT, 2, gray.height/4, 200, 100)
#cv.ShowImage("camera", img)
if cv.WaitKey(10) == 27:
break
這裏是我得到的錯誤:
OpenCV Error: Null pinter() in unknown function, file ..\..\..\..\ocv\openc\src\cxcore\cxdatastructs.cpp, line 408 Traceback (most recent call last): File "ellipse-detect-webcam.py", line 20, in cv.HoughCircles(edges, storage, cv.CV_HOUGH_GRADIENT, 2, gray.height/4, 200, 100) cv.error
在此先感謝您的幫助。
我檢查了所有參數;他們似乎是對的。我正在使用http://www.seas.upenn.edu/~bensapp/opencvdocs/ref/opencvref_cv.htm#cv_imgproc – Dan 2010-05-29 01:21:31