我还想知道哪种算法具有最差的案例复杂性,以便在另一个中查找所有出现的字符串.似乎Boyer-Moore的算法具有线性时间复杂度.
我尝试使用 Aho-Corasick 和一维 KMP 的组合来解决二维搜索的问题,但是,我仍然需要更快的东西。
详细地说,我有一个大小为 n1*n2 的字符矩阵 A,我希望找到大小为 m1*m2 的较小矩阵 B 的所有出现,我希望它在 O(n1*n2+m1*m2) 中,如果可能的。
例如:
A = a b c b c b
b c a c a c
d a b a b a
q a s d q a
Run Code Online (Sandbox Code Playgroud)
和
B = b c b
c a c
a b a
Run Code Online (Sandbox Code Playgroud)
算法应该返回比如匹配项左上角的索引,在这种情况下应该返回 (0,1) 和 (0,3)。请注意,这些事件可能会重叠。
我正在使用Kinect和OpenNI/NITE.OpenNI可以在NITE的帮助下跟踪人手.此外,OpenNI可以平滑跟踪的手线,我试图弄清楚它是如何做到的.
我尝试使用卡尔曼滤波器,用卡尔曼估计的手位置替换旧手位置,但OpenNI中的更平滑更好.
我会很感激如何流畅的在线数据或如何设置参数卡尔曼滤波器任何线索(具体以专人跟踪的东西,因为我已经知道是什么参数做).