我想找到两个二进制矩阵的最大重叠1
的数量,仅允许平移(不允许旋转和反射)。我的问题与this one非常相似,但我想做的是以一种有效的方式实际编码OP在该问题中提出的“天真”解决方案。
所以,回顾一下,我有两个矩阵(不一定具有相同的大小),例如,条目为0
或1
:
[0 0] [0 0 1]
A: [1 1] B: [0 0 1]
[1 0] [1 0 0]
最大重叠可以通过将一个矩阵的一个角对齐到另一个矩阵的每个可能位置并计算所有重叠的1
来找到。然后,我们发现最大重叠量是two,并且当我们将A的左下角(2,0)对准B的[[1,2,]时给出。我想在python中编写此方法的简单(并且可能是快速的)实现,但我真的不知道从哪里开始...
我想找到两个二进制矩阵的最大重叠1的数量,仅允许平移(不允许旋转和反射)。我的问题与此非常相似,但是...
correlate2d
功能: