我想找到两个 Mat 描述符之间的相似性。然后,我有两个矩阵(Mat)要使用其中一种匹配方法进行匹配,即:FlannBasedMatcher 匹配器,
Matcher.match(descriptors1, descriptors2, matches)
但实际上我自己对每行 Mat 的描述符并不总是具有相同的长度。例如:我的矩阵结构如下:
Elem1: desc_1 desc_2 .. desc_n
1:22 33 44 13 33
2:12 1 13 10
3:11 33 55 16 15 13 33
我应该用零填充吗?我确信相似性度量会受到这种填充的影响。或者我可以让它们保持原样?在这里,我们遇到了创建不同长度线的 Mat 的问题?据我所知,这是不可能的!任何人都可以提出解决方案吗?或者可能是另一种方法来找到相应的行
补充说明:
我的描述符是一个不变的值,由四个共线点(交叉比)计算得出。我开始从图像中检测一些关键点,然后重新组合所有共线点。我得到了一组不同大小的重新组合的共线点。假设其中一组由 n = 4 个点组成,那么我将得到一个不变描述符值,如果 n = 5 个点,我将得到 5 个不变描述符,计算每 4 个点之间所有可能描述符的公式由 5 个点组成的集合是:
5!
C(5,4) = --------------
4! (5 - 4)!
所以,假设我有 3 个重新组合的点集,我将有一个 3 行的矩阵 (Mat),每行将包含其不变描述符,具体取决于为每个集合找到的共线点的数量。所以每行 Mat 可能有不同数量的描述符(代表 cols 的数量)我希望能帮助你理解我的想法。