测量不同尺寸的矩阵之间的距离

时间:2013-03-23 12:04:51

标签: matlab distance dimensions

我有两个矩阵,一个矩阵的值范围为0-1,另一个矩阵的值只有01。我只想计算距离等于1的像素的距离。在这种情况下,我想到制作一个新的矩阵,它只包含来自第二个对象的值为1的像素,然后将距离设置为那些。但是,在这种情况下,尺寸会有所不同。

注意:两个矩阵最初具有相同的尺寸。但是,有许多不感兴趣的cels(即具有价值0的那些)

如何使用不同尺寸的物体进行此类距离计算?

感谢。

1 个答案:

答案 0 :(得分:0)

如果像素的位置对计算不重要,那么你可以像这样使用逻辑索引:

A = [0 1 0 0 1 1 0 0 1 1 1]; 
B = rand(size(A));
nonZeroInd = A == 1;
Anz = A(nonZeroInd);
Bnz = B(nonZeroInd);
dist = Bnz - Anz;

如果您需要将矩阵中的结果放在与原始位置相同的位置,那么您可以

C = zeros(size(A));
C(nonZeroInd) = dist;