2013-03-23 225 views
-1

我有两个矩阵,其中一个矩阵的值范围为0-1,另一个矩阵的值仅为01。我只对计算距离等于1的像素感兴趣。在这种情况下,我想创建一个新的矩阵,只包含来自第二个对象的值为1的像素,然后获取距离。但是,在这种情况下,尺寸会有所不同。测量不同尺寸的矩阵之间的距离

注意:这两个矩阵本来是相同的维度。但是,有很多不感兴趣的线条(即:那些有价值的线条0

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

谢谢。

+2

你的问题没有明确说明。请对其进行编辑并定义对象是什么,值为0-1的对象是什么意思等等。 – 2013-03-23 12:09:24

+1

我们还需要知道这些矩阵是否与开始的维度相同。如果不是,那么一个矩阵中的指标如何映射到另一个矩阵开始? – wakjah 2013-03-23 12:11:19

+0

谢谢。我已经编辑了我的问题。现在更清楚了吗? – Simplicity 2013-03-23 12:18:16

回答

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;