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 2.7 使用opencv从SIFT生成以百分比表示的相似性分数_Python 2.7_Opencv_Sift - Fatal编程技术网

Python 2.7 使用opencv从SIFT生成以百分比表示的相似性分数

Python 2.7 使用opencv从SIFT生成以百分比表示的相似性分数,python-2.7,opencv,sift,Python 2.7,Opencv,Sift,在使用python(2.7.x)和opencv(2.4.9)中的SIFT对两幅图像进行比较之后,我一直在试图找到一种生成相似性分数(单位为%)的方法。我只能找到在匹配之间划清界限的例子。如何进行此操作。在Matlab中有一个与vl_ubcmatch函数等效的opencv 这是一篇文章的摘录 matches=bf。match(des1,des2)匹配两组描述符并返回一个DMatch对象列表。此DMatch对象有四个属性:距离、trainIdx、queryIdx、imgIdx。这些返回值相当于vl_

在使用python(2.7.x)和opencv(2.4.9)中的SIFT对两幅图像进行比较之后,我一直在试图找到一种生成相似性分数(单位为%)的方法。我只能找到在匹配之间划清界限的例子。如何进行此操作。

在Matlab中有一个与vl_ubcmatch函数等效的opencv

这是一篇文章的摘录

matches=bf。match(des1,des2)
匹配两组描述符并返回一个DMatch对象列表。此DMatch对象有四个属性:距离、trainIdx、queryIdx、imgIdx。这些返回值相当于vl_ubcmatch函数


我希望你会觉得它有帮助

确切地说,我正在寻找VL_UBCMATCH函数的python实现。你找到了吗?没有,我找不到。一个示例代码真的很有用吗?我需要的是分数。VL_-UBCMATCH除了返回匹配项的score依据外,VL_-UBCMATCH还返回到分数变量的平方欧几里德距离。事实上,当我尝试时,score变量在两个SIFT描述符之间有距离值。分数(:,1)是21647,
sum((int64(da(:,9))-int64(db(:,618))。^2)
是相同的值,其中da(:,9)是ImageA中的第9个SIFT描述符,db(:,618)是ImageB中的第618个SIFT描述符。这不是你想要的输出吗?
# create BFMatcher object
bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)

# Match descriptors.
matches = bf.match(des1,des2)