使用均方误差创建索引矩阵matlab

时间:2015-04-29 14:51:11

标签: matlab

Mean Square Error(MSE)是一种用于定义两个块之间差异的方法,可以按如下方式计算: ab两个大小相等的块

MSE = sqrt(sum(sum((a-b).^2)))/size(a or b)

如果MSE小于给定的阈值,则两个区块不同。

给定两个矩阵AB,目的是将两个矩阵除以给定大小的块,然后从A中提取第一个块并将其设为a,然后从b中搜索BMean Square Error,其中ab之间的b小于给定的阈值,然后返回块的位置{来自矩阵B的{​​1}}。等等。这是一个例子:

给定两个矩阵AB其中:

A= [1 1   4 4   2 2 
    1 1   4 4   2 2

    2 2   9 9   5 5
    2 2   9 9   5 5

    3 3   4 4   9 9
    3 3   4 4   9 9];

B = [ 2 2   4 4   9 9
      2 2   4 4   9 9];

阈值为2

从矩阵a获得的第一个块A是:

1 1
1 1

bB之间的MSR小于阈值的矩阵a获得的块b是:

2 2
2 2

因此,我们会在矩阵b中返回块B的位置,这是1

从矩阵a获得的第二个块A是:

4 4
4 4

bB之间的MSR小于阈值的矩阵a获取的块b是:

4 4
4 4

因此,我们在矩阵b中返回块B的位置,该块位于2.依此类推。

最终结果应如下

RES= [1 2 1
      1 3 2
      1 2 3];

有更快的方法吗?

0 个答案:

没有答案