【发布时间】:2018-07-16 08:52:16
【问题描述】:
我有一个大小为 2000*4000 的 numpy 数组,其中包含二进制值。我有一个模板,我想与我的源数组匹配。目前我正在源数组上运行一个滑动窗口。虽然这种方法效果很好,但非常耗时。我猜本机实现会快得多。也可以匹配多次出现的模板吗?
类似
x = [[0 0 1 1 1 1 1 0 0]
[0 0 1 1 0 0 0 0 0]
[0 0 1 1 0 0 0 0 0]
[0 0 1 1 0 0 0 0 0]]
template = [[1 1 1 1]
[1 0 0 0]
[1 0 0 0]]
cords = np.matchtemplate(x, template)
理想情况下,打印绳索应该给出一个元组列表,其中包含匹配段的对角坐标。
print(cords)
[[(0, 3), (6, 2)]]
【问题讨论】:
-
只是一个想法:如何将您的模板作为 2D 内核运行互相关以找到候选位置(即
x和template之间的良好匹配),然后只检查周围的邻域候选人职位?互相关可以非常有效地完成......
标签: python arrays numpy image-processing sliding-window