我正在尝试将 ORB 功能与cv::BFMatcher. ORB 基于二进制描述符,因此必须选择 HAMMING,但我不确定我是否理解NORM_HAMMING2vsNORM_HAMMING和 witch one 之间的区别是正确的选择。
我做了一些测试,但我找不到任何可靠的区别。
我正在尝试将 ORB 功能与cv::BFMatcher. ORB 基于二进制描述符,因此必须选择 HAMMING,但我不确定我是否理解NORM_HAMMING2vsNORM_HAMMING和 witch one 之间的区别是正确的选择。
我做了一些测试,但我找不到任何可靠的区别。
NORM_HAMMING应与 ORB、BRISK 和 BRIEFNORM_HAMMING2一起使用,应与ORBwhenWTA_K==3或4(参见ORB::ORB构造函数说明)一起使用
WTA_K - [...]其他可能的值是 3 和 4 。[...]这样的输出将占用 2 位,因此它需要一个特殊的汉明距离变体,表示为
NORM_HAMMING2(每个 bin 2 位)。
换句话说,正确的选择是与您的ORB配置相匹配的那个(NORM_HAMMINGwhen WTA_K==2, and NORM_HAMMING2when WTA_K==3or WTA_K==4),否则您最终会遇到不正确的规范和相应的较差/不一致的匹配性能。