我正在尝试实现二进制图像匹配算法。我需要生成下面给出的 C 矩阵。给定一个小图案图像 A,我需要将它与大图像逐行和逐列匹配,以找到该图案最匹配的位置。
给定 M x M 大小的模式 A:
0 0 1
0 1 1
1 1 1
和 N x N 大小的输入图像 B:
0 0 0 0 0 1 0 0
0 0 0 0 1 1 0 0
0 0 0 1 1 1 0 0
0 0 0 0 0 0 0 0
1 1 1 0 0 0 1 0
0 0 0 0 0 0 1 0
0 0 0 1 1 1 1 0
0 0 0 0 0 0 0 0
N x N 大小的输出图像 C 是 A 与 B 在 B 的每一行和每一列的相似度。因此 C:
0 0 0 0 0 0 0 0
0 3 4 6 9 4 2 0
0 3 4 6 4 1 1 0
0 6 6 4 2 2 3 0
0 4 3 2 3 5 5 0
0 2 2 4 6 8 5 0
0 3 4 5 4 5 2 0
0 0 0 0 0 0 0 0
我陷入了需要将矩阵 A 与 B 进行比较的地步。我已将它们制作为 2D 数组。
这是我到目前为止所做的
for (int i = 0; i <3 ; i++)
{
for (int j = 0; j<3; j++)
{
for (int k = 0; k < 8; i++)
{
for (int s = 0; s < 8; j++)
{
if (A[i][j] == B[k][s])
{
count++;
}
}
}
}