python - 计算使用ORB计算的匹配之间的阈值距离

标签 python opencv computer-vision threshold orb

我正在使用ORB比较两个图像中的特征,以发现它们之间的相似性。bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True) matches = bf.match(des1,des2) distance=maches[i].distance
有没有一种方法可以找到阈值距离以评论功能的相似程度?
我检查距离是否小于threshold_distance,然后要素是否相似,否则相似。

最佳答案

为此目的使用单个阈值通常不是那么可靠。

更好的方法是找到最短距离(d1)和第二最短距离(d2),并使用比率。

r=d1/d2

您希望此r小于适合您的方案的阈值。

另外,您可能想使用全局阈值来限制有效距离,以消除垃圾邮件匹配。

关于python - 计算使用ORB计算的匹配之间的阈值距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34870504/

相关文章:

python - 使用特定索引从嵌套列表中提取值

c# - OpenCVSharp坐标与System.Drawing坐标之间的转换

matlab - 从图像中裁剪椭圆

python - 为什么会给我TypeError:参数 'src'预期为cv::UMat?

computer-vision - 如何使用校准矩阵估计基线

python - 如何移除移动物体以仅获取背景?

Python cx_oracle 通过位置绑定(bind)变量忽略数字

python - SystemExit: `requests` 您安装的库已被劫持

python - 如何使用 csv 将列表编写为单独的元素?

c++ - 使用图像传输压缩和 boost 库 C++