Matlab 对于具有不同颜色属性的图像,计算度量值的正确方法是什么

Matlab 对于具有不同颜色属性的图像,计算度量值的正确方法是什么,matlab,Matlab,我需要一些Matlab中矩阵维数方面的帮助, 我有两张图像是通过imread功能导入的: im1=imread('1.jpg') im2=imread('2.jpg') im1是参考图像,而im2是噪声图像。 在“工作空间”窗口中,Matlab显示如下im2尺寸:768x1024x3 而im2显示为:768x1024 它们都是RGB,没有灰度图像, 事实上,第二个图像是压缩图像(对其执行压缩算法),而第一个图像是自然JPEG图像,未被触及 对于计算两幅图像的MSE/PNSR,矩阵维数必须相同 我

我需要一些Matlab中矩阵维数方面的帮助, 我有两张图像是通过imread功能导入的:

im1=imread('1.jpg')

im2=imread('2.jpg')

im1是参考图像,而im2是噪声图像。

在“工作空间”窗口中,Matlab显示如下im2尺寸:768x1024x3 而im2显示为:768x1024


它们都是RGB,没有灰度图像, 事实上,第二个图像是压缩图像(对其执行压缩算法),而第一个图像是自然JPEG图像,未被触及

对于计算两幅图像的MSE/PNSR,矩阵维数必须相同

我需要将im1维度转换为3d,就像第一幅图像(768x1024)


我尝试了这个功能(挤压、重塑),但没有成功

您使用了
repmat
,走上了正确的道路。以下是正确的语法:

im2 = repmat(im2, [1 1 3]);

这表示您希望沿第一维度复制1个,沿第二维度复制1个,沿第三维度复制3个。

您确定这两个都是RGB图像吗?因为im2只有一个通道,看起来是灰度的,但在这种情况下也可以是彩色贴图图像。请尝试

[im2, map] = imread('im2.jpg');
并查看map变量中是否出现任何内容。如果图像确实是colormap图像,则贴图变量的大小应为256 X 3

donda建议将灰度通道重复3次,使其大小为768x1024x3。另一种可能性是,噪声图像是通过将RGB图像转换为灰度或采用RGB图像的绿色通道生成的。在这种情况下,请验证图像的来源

关于PSNR计算,我感觉您的代码有一些问题。我在下面给出了我的代码,请使用此代码并查看它是否有效。如果你遇到任何问题,请给我回电话

function [Psnr_DB] = psnr(I,I_out)
I = double(I);
I_out = double(I_out);
total_error = 0;
for iterz = 1:size(I,3)
    for iterx = 1:size(I,1)
        for itery = 1:size(I,2)
            total_error = total_error + (I(iterx,itery,iterz)-I_out(iterx,itery,iterz))^2;
        end
    end
end
MSE = total_error/numel(I);
Psnr = (255^2)/MSE;
Psnr_DB = 10*log10(Psnr) %#ok<NOPRT>
函数[Psnr\u DB]=Psnr(I,I\u out)
I=双(I);
I_out=双倍(I_out);
总误差=0;
对于iterz=1:尺寸(I,3)
对于iterx=1:尺寸(I,1)
对于itery=1:尺寸(I,2)
总误差=总误差+(I(iterx,itery,iterz)-I输出(iterx,itery,iterz))^2;
结束
结束
结束
MSE=总误差/numel(I);
峰值信噪比=(255^2)/MSE;
峰值信噪比=10*log10(峰值信噪比)%#正常

感谢您的重播Donda,我执行了该命令,得到了以下结果:im2新值:768x1024x9,这没有解决问题OK,然后您必须将该命令应用于
im1
。在您的问题中,不清楚您的图像中哪些是RGB,哪些是单色。它们都是RGB,im1是参考图像,而im2是噪声图像。我执行了这个命令:im1=repmat(im1[13]);但是我在结果中得到了一个巨大的数字。你写的一张图像的大小是768x1024。这显然是单色的,单色平面。@AhmadShadi,我不得不说我怀疑复制数据是否是一种有效的方法。但我恐怕对这些应用于图像数据的度量一无所知。也许你的问题不应该是如何均衡矩阵大小,但对于具有不同颜色属性的图像,计算度量值的正确方法是什么。这不太清楚,但你的一幅图像可能是灰度图像。请看一些信息,它们都是RGB,没有灰度图像,事实上第二个图像是压缩图像(对其执行压缩算法),而第一个图像是自然JPEG图像,未触及。只有一个通道时,颜色信息在哪里?768x1024为单色或索引。你有这张图片的颜色图吗?你能解释一下吗?