0
我的平臺是Mac OS X 10.6,通過自制軟件安裝python 2.7.2/opencv。 我想用cv.filter2D做的Lanczos重採樣,這裏是我的代碼:cv.filter2D返回TypeError
import cv
src = cv.imread('img.jpg')
dst = cv.CloneMat(src)
kernel = cv.CreateMat(7, 7, cv.CV_32FC1)
for i in range(-3, 4):
for j in range(-3, 4):
kernel[i+3, j+3] = L(i, 3) * L(j, 3)
cv.filter2D(src, dst, kernel)
cv.imshow(dst)
我的問題是cv.filter2D。 如果我使用
cv.filter2D(src, dst, kernel)
,這OpenCV的參考手冊中寫到,它會得到錯誤信息。
Traceback (most recent call last):
File "lanczos.py", line 27, in <module>
cv.filter2D(src, dst, kernel)
TypeError: only length-1 arrays can be converted to Python scalars
在蟒I型
cv.filter2D.__doc__
,故稱函數原型是
'filter2D(src, ddepth, kernel[, dst[, anchor[, delta[, borderType]]]]) -> dst'
如果我使用
cv.filter2D(src, -1, kernel, dst)
代替,該錯誤消息成爲
Traceback (most recent call last):
File "lanczos.py", line 27, in <module>
cv.filter2D(src, 1 , kernel, dst)
TypeError: <unknown> is not a numpy array
好像沒有人遇到過這個問題嗎?
我沒有模塊名爲CV2,但我的簡歷.__ version__是「$修訂:3057 $」 我可以正確運行代碼,看來問題是內核格式 –