kno*_*ker 17 c c++ algorithm matrix
我正在考虑一种在较大的mtrix M中寻找子矩阵m的快速方法.我还需要识别部分匹配.
我能想到的几种方法是:
我相信这是图像处理中经常遇到的问题,如果有人可以投入他们的意见或指向我关于这个主题的资源/论文,我将不胜感激.
编辑: 较小的例子:
更大的矩阵:
1 2 3 4 5
4 5 6 7 8
9 7 6 5 2
较小的矩阵:
7 8
5 2
结果:(行:1列:3)
较小矩阵的一个例子,它在(1,3):
7 9
5 2 处有资格作为部分匹配
如果超过一半像素匹配,则将其视为部分匹配.
谢谢.
如果您愿意预处理矩阵并且对同一矩阵有很多查询,则可以使用非常快速的算法。
查看多媒体数据库研究小组(波恩大学克劳森教授)关于代数数据库的论文。例如,看看这篇论文:http://www-mmdb.iai.uni-bonn.de/download/publications/sigir-03.pdf
基本思想是推广倒排表,因此它们使用任何一种代数变换,而不是像普通倒排表那样仅向一个方向移动。
这意味着只要您需要对输入数据进行的修改可以通过代数建模,这种方法就可以发挥作用。具体来说,以任意数量的维度进行平移、旋转、翻转等的查询都可以被检索。
这篇论文主要展示了音乐数据的这一点,因为这是他们的主要研究兴趣,但您也许可以找到其他人,其中也展示了如何使其适应图像数据(或者您可以尝试自己适应它,如果您了解原理就很简单了)。
编辑:
如果你正确定义它们,这个想法也适用于部分匹配。