2013-03-23 85 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;