类型错误:由名称 ('k') 和位置 (2) 给出的参数

sha*_*har 5 python opencv numpy

在我的opencv3 Python3代码下方查找以匹配引发以下错误的对象:

类型错误:由名称 ('k') 和位置 (2) 给出的参数

这是代码:

import numpy as np
import cv2
import time
import distance
camera = cv2.VideoCapture(0)
sift = cv2.xfeatures2d.SIFT_create()
img = cv2.imread('/home/shar/bo.jpg')
imgTrainGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
kpTrain = sift.detect(imgTrainGray,None)
kpTrain, desTrain = sift.compute(imgTrainGray, kpTrain)
FLANN_INDEX_KDTREE = 0
index_params = dict(algorithm = FLANN_INDEX_KDTREE, trees = 5)
search_params = dict(checks=50)  
flann = cv2.FlannBasedMatcher(index_params,search_params)

matches = flann.knnMatch(kpTrain,desTrain,k=2)
Run Code Online (Sandbox Code Playgroud)

关于如何解决它的想法?

Tar*_*run 2

这对我有用

FLANN_INDEX_KDTREE = 0
index_params = dict(algorithm = FLANN_INDEX_KDTREE, trees = 5)
search_params = dict(checks=50)

flann = cv2.FlannBasedMatcher(index_params,search_params)
matches = flann.knnMatch(np.asarray(des1,np.float32),np.asarray(des2,np.float32),k=2)
Run Code Online (Sandbox Code Playgroud)

  • 您能为这个错误提供更深入的解释吗?是什么原因造成的? (2认同)