Matlab 比较两个图像并返回最大值作为结果
我有两个图像,分别是Matlab 比较两个图像并返回最大值作为结果,matlab,image-processing,matrix,Matlab,Image Processing,Matrix,我有两个图像,分别是V1=v*v'和V2=V1*V1'v和v1是两个矩阵,v'和v1'是它们的转置 我需要比较V1和V2并选择最大值。具体来说,无论哪个矩阵具有最大数量的强度值,这就是我需要返回的。在Matlab中如何做到这一点?< P>除非你考虑使用一个范数,否则至少要做矩阵比较,例如V1>V2.code>norm(V1)>norm(V2)最终将为您完成这项工作。请注意,norm默认为L2规范 根据您的意见,另一种方法是: V1_max = sum(abs(V1(:)); V2_max = s
V1=v*v'
和V2=V1*V1'
v
和v1
是两个矩阵,v'
和v1'
是它们的转置
我需要比较
V1
和V2
并选择最大值。具体来说,无论哪个矩阵具有最大数量的强度值,这就是我需要返回的。在Matlab中如何做到这一点?< P>除非你考虑使用一个范数,否则至少要做矩阵比较,例如V1>V2.code>norm(V1)>norm(V2)最终将为您完成这项工作。请注意,norm
默认为L2规范 根据您的意见,另一种方法是:
V1_max = sum(abs(V1(:));
V2_max = sum(abs(V2(:));
我们将找到V1
以及V2
中所有条目的总和,并查看其中一个是否大于另一个,因此V1\u max>V2\u max
假设你说的是“强度”,我假设你的矩阵是图像,因此不需要使用abs
来解释负值。您应该做的是将图像强制转换为双倍,这样您可以累积超出为图像精度定义的最大值的值。例如,如果您的图像是8位的,那么您将无法累积超过255的值。因此,您可以这样做:
V1_max = sum(im2double(V1(:)));
V2_max = sum(im2double(V2(:)));
你对“最大”的定义是什么?这是非常含糊的。你是想逐项比较,还是想计算整个矩阵的统一度量?太好了,这样我们可能会更接近2毫米。你对“最大”一的定义是什么?具有最大强度值的矩阵你的矩阵是图像吗?是的,它们是图像