Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-使用;“法兰”&引用;类型错误“;_Python_Opencv_Typeerror_Flann - Fatal编程技术网

Python-使用;“法兰”&引用;类型错误“;

Python-使用;“法兰”&引用;类型错误“;,python,opencv,typeerror,flann,Python,Opencv,Typeerror,Flann,我正在尝试使用此链接中的代码: 但是,我收到了错误信息: File "C:\Users\User\Desktop\lktracker\lktrack.py", line 22, in match_flann flann = cv2.flann_Index(desc2, flann_params) TypeError: features is not a numpy array, neither a scalar 下面是我调用FLANN函数的代码部分: for i in range(rowsIn

我正在尝试使用此链接中的代码:

但是,我收到了错误信息:

File "C:\Users\User\Desktop\lktracker\lktrack.py", line 22, in match_flann
flann = cv2.flann_Index(desc2, flann_params)
TypeError: features is not a numpy array, neither a scalar
下面是我调用FLANN函数的代码部分:

for i in range(rowsInOrigDes):
        for j in range(rowsInNextDes):

            origDesArr = np.array(origDes[i,:])             
            nextDesArr = np.array(nextDes[j,:])             
            origDesArr = [float(x) for x in origDesArr]
            nextDesArr = [float(x) for x in nextDesArr]
            b = match_flann(origDesArr, nextDesArr, r_threshold = 0.6)
            if b:
                print b
我是否正确使用此函数?我也不知道该申报什么


如果有人能帮上忙,我将不胜感激。

问题在于
功能是一个列表,而不是一个numpy数组。这就是TypeError告诉你的。
Flann只接受float32类型的numpy数组

在看不到整个代码的情况下给您提供解决方案有点困难,但它非常简单。以下是Python中基于OpenCV FLANN的匹配的完整教程:

请注意,它基于OpenCV 3.0.0开发版本,但应该很容易适应您选择的版本