2015-01-06 68 views
-1

我有兩個圖像,例如V1 = v*v'V2 = v1*v1'vv1是兩個矩陣,v'v1'是它們的轉置。比較兩個圖像並返回最大值作爲結果

我需要比較V1V2並選擇最大值。具體而言,無論哪個矩陣具有最大強度值,這就是我需要返回的。這怎麼能在MATLAB中完成?

+2

什麼是您定義的「最大」一個?這是非常模糊的。你想按入門級別進行比較,還是想計算整個矩陣的統一度量? – rayryeng

+0

整個矩陣 – Piyu

+0

太好了,這樣可以讓我們接近2毫米。你對「最大」的定義是什麼? – rayryeng

回答

1

除非您考慮使用標準,否則進行矩陣比較(如V1> V2)至少是非常規的。 norm(V1) > norm(V2)最終會爲你做這份工作。請注意0​​默認爲L2規範。

0

考慮您的意見,一種替代辦法來做到這一點:

V1_max = sum(abs(V1(:)); 
V2_max = sum(abs(V2(:)); 

我們會發現所有條目的總和在V1以及V2,看一個人是否是大於其他,所以V1_max > V2_max

鑑於您所說的「強度」,我假設您的矩陣是圖像,所以不需要使用abs來解釋負值。您應該做的是將圖像投射到double,以便您可以累積超過爲圖像精度定義的最大值。例如,如果您的圖像是8位,那麼您將無法累積255以上的值。因此,您應該這樣做,而不是:

V1_max = sum(im2double(V1(:))); 
V2_max = sum(im2double(V2(:))); 
相關問題