我有兩個圖像,例如V1 = v*v'
和V2 = v1*v1'
。 v
和v1
是兩個矩陣,v'
和v1'
是它們的轉置。比較兩個圖像並返回最大值作爲結果
我需要比較V1
和V2
並選擇最大值。具體而言,無論哪個矩陣具有最大強度值,這就是我需要返回的。這怎麼能在MATLAB中完成?
我有兩個圖像,例如V1 = v*v'
和V2 = v1*v1'
。 v
和v1
是兩個矩陣,v'
和v1'
是它們的轉置。比較兩個圖像並返回最大值作爲結果
我需要比較V1
和V2
並選擇最大值。具體而言,無論哪個矩陣具有最大強度值,這就是我需要返回的。這怎麼能在MATLAB中完成?
除非您考慮使用標準,否則進行矩陣比較(如V1> V2)至少是非常規的。 norm(V1) > norm(V2)
最終會爲你做這份工作。請注意0默認爲L2規範。
考慮您的意見,一種替代辦法來做到這一點:
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(:)));
什麼是您定義的「最大」一個?這是非常模糊的。你想按入門級別進行比較,還是想計算整個矩陣的統一度量? – rayryeng
整個矩陣 – Piyu
太好了,這樣可以讓我們接近2毫米。你對「最大」的定義是什麼? – rayryeng