我有两个矩阵,一个矩阵的值范围为0-1
,另一个矩阵的值只有0
和1
。我只想计算距离等于1
的像素的距离。在这种情况下,我想到制作一个新的矩阵,它只包含来自第二个对象的值为1
的像素,然后将距离设置为那些。但是,在这种情况下,尺寸会有所不同。
注意:两个矩阵最初具有相同的尺寸。但是,有许多不感兴趣的cels(即具有价值0
的那些)
如何使用不同尺寸的物体进行此类距离计算?
感谢。
答案 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;