我有两张图片,V1 = v*v'
和V2 = v1*v1'
。 v
和v1
是两个矩阵,v'
和v1'
是他们的转置。
我需要比较V1
和V2
并选择最大值。具体而言,无论哪个矩阵具有最大强度值,这都是我需要返回的。怎么能在MATLAB中完成?
答案 0 :(得分:1)
除非您考虑使用标准,否则进行矩阵比较(例如V1>)至少是非常规的。 V2。 norm(V1) > norm(V2)
最终将为您完成这项工作。请注意,norm
默认为L2规范。
答案 1 :(得分: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(:)));