我不确定这是否属于 stackoverflow 或另一个 stackexchange 站点 - 非常欢迎在这里输入。
我使用 python OpenCV 将目标图像的 BRISK 关键点描述符与三个不同的模板进行匹配。
什么是一种实用的、稳健的、统计上合理的方法来决定哪个模板是最合适的?
现在我计算一下数量cv2.RANSAC
返回的内点cv2.findHomography
(顺便说一句,它不会返回拟合优度统计数据)并采用具有最高数字的模板。
我查看了描述符距离的直方图,它似乎总是以高斯为中心(奇怪地),约为 105(单位?)。
https://en.wikipedia.org/wiki/Random_sample_consensus看起来很有用。
非常感谢指导 - 谢谢!
这最初是一条评论,但有点太长了。
事实上,OpenCV 在内部计算重投影误差并且不返回它。但是一旦获得单应性,您就可以自己做同样的事情,不是吗?
事实上,该算法最小化了所有点的重投影误差之和。该过程的相当完整的描述位于OpenCV 文档
因为您有匹配项(因此源点和模板点的图像坐标)。您可以计算每个模板的平均重投影误差,可能仅使用被视为内点的点,并选择最低的一个。
From 类似的答案在另一个网站上:
computed_pt = H * source_pt
error_pt = sqrt( (computed_pt.x - dst_pt.x)*(computed_pt.x - dst_pt.x) + (computed_pt.y - dst_pt.y)*(computed_pt.y - dst_pt.y) )
计算两点之间的欧氏距离。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)