我在使用 OpenCV python 包装器执行以下函数时遇到问题:
img = cv.LoadImage("calib0.jpg")
grayImg = cv.CreateImage((img.width,img.height), img.depth,1)
cv.CvtColor(img,grayImg,cv.CV_BGR2GRAY)
corners = cv.FindChessboardCorners(grayImg,(5,6), cv.CALIB_CB_ADAPTIVE_THRESH + cv.CALIB_CB_NORMALIZE_IMAGE + cv.CALIB_CB_FAST_CHECK )
cv.cornerSubPix(grayImg,corners,(11,11),(-1,-1),(cv.CV_TERMCRIT_ITER | cv.CV_TERMCRIT_EPS, 10, 0.01))
如果我在(OSX)上的 iPython 中运行它,我会收到以下错误:
TypeError Traceback(最近一次通话最后)/Users/katherinescott/simplecv-git/SimpleCV/sampleimages/ in () ----> 1 cv.cornerSubPix(grayImg,corners,(11,11),(-1,-1 ),(cv.CV_TERMCRIT_ITER | cv.CV_TERMCRIT_EPS, 10, 0.01))
TypeError:不是一个numpy数组
我已经尝试了将上述对象转换为 numpy ndarray 的几乎所有排列,但无济于事。我的猜测是这个错误存在于术语标准对象中,但我不知道它要求什么。尝试使用 OpenCV Python 包装器执行校准时,有没有其他人遇到过这个问题?我即将开始挖掘源代码,看看我能找到什么。