假设我有两个 4*4 矩阵(表示二进制图像),我想计算两个矩阵上显示的模式的相似度得分(从 0 到 1)。两个矩阵之间的“on”像素数始终相同,例如:
M1
0 1 1 1
0 0 0 1
0 0 0 0
0 0 0 0
M2
0 0 0 0
0 0 0 0
1 1 1 0
0 0 1 0
M3
1 0 0 1
0 0 0 0
0 0 0 0
1 0 0 1
M4
0 0 0 0
1 1 1 0
0 0 0 1
0 0 0 0
在这种情况下,我希望 M1:M2 给出满分 (1),因为图案的位置无关紧要。M1:M3 应该给出一个很差的分数,而 M1:M4 会得到一个很好但不完美的分数。目前,我只对相同方向的图案感兴趣,因此不需要检查图案方向。
任何有关算法的帮助或建议将不胜感激!
这个的最终实现将用 Matlab 编写,但我正在用 Python 编写一个初始测试实现,所以任何一个库都很好:)