Mean Square Error(MSE)
是一种用于定义两个块之间差异的方法,可以按如下方式计算:a
和b
两个块大小相等
MSE = sqrt(sum(sum((a-b).^2)))/size(a or b)
如果MSE
小于给定的阈值,则两个块没有差别。
给定矩阵A
,已经重新整形为包含所有相同原始的块,
目的是提取MSE
小于给定阈值的所有块(基于第一个块),然后返回这些块的平均值。再次,提取MSE
小于给定阈值的第二组块,其中必须不再提取已经分配为其他块组的一部分的块。更好的是,必须删除它以减少搜索时间。依此类推,直到矩阵A
的所有块都被指定为组的一部分。结果矩阵的块应该根据组内块的数量进行组织,从最大块数到最低块数。这是一个例子:
给定矩阵A
,A
的大小为2乘14:
A= [1 1 2 2 9 9 4 4 6 6 5 5 3 3
1 1 2 2 9 9 4 4 6 6 5 5 3 3];
PS:没有必要这些块包含相同的数字,只是为了使示例清晰。
块大小为:2乘2
阈值为2
现在我们从矩阵MSE
中的第一个块开始提取A
小于阈值的所有块。这些块是:
1 1 2 2 3 3
1 1 2 2 3 3
这些街区的平均值是
Result= [ 2 2
2 2];
一次。我们提取MSE
小于阈值的所有块,但是我们需要避免已经提取的块,所以第二组块是:
9 9
9 9
这个区块的意思是它自己,所以:
Result= [2 2 9 9
2 2 9 9];
一次。我们提取MSE
小于阈值的所有块,但是我们需要避免已经提取的块,所以第三组块是:
4 4 6 6 5 5
4 4 6 6 5 5
块
3 3
3 3
即使MSE
小于阈值,也不属于该群组,因为已经将其提取为第一组的一部分。
这些街区的意思是:
5 5
5 5
因此结果应为:
Result= [2 2 5 5 9 9
2 2 5 5 9 9 ];
有什么快速的方法可以申请吗? PS:Datasize是巨大的,因此,需要一种快速的方法来做到这一点。