`SSIM(YUV)` 与 `SSIM(Y)`:值非常不同

信息处理 图像处理 图片 颜色 图像压缩
2022-01-30 03:39:02

在尝试比较几个不同颜色空间中的图像质量时,我看到了一些奇怪的结果。看看我的图表:

在此处输入图像描述

我想与另一篇报道 PSNR(YUV) 和 SSIM(Y) 的出版物进行比较。但是,我不明白如何才能使右侧的最高质量点具有 SSIM(YUV)=0.9,而对于完全相同的图像却只有 SSIM(Y)=0.7。怎么会有这么大的区别?这是正常的吗?还是我做错了什么?

为了完整起见,这里是参考图像和被测图像:

参考 在此处输入图像描述

我用于将 RGB 转换为 YUV 的 MATLAB 代码:

function YUV=rgb2yuv(RGB)
R = RGB(:,:,1);
G = RGB(:,:,2);
B = RGB(:,:,3);

Y = 0.299   * R + 0.587   * G + 0.114 * B;
U = 0.5 - 0.168736 * R - 0.331264 * G + 0.5 * B;
V = 0.5 + 0.5 * R - 0.418688 * G - 0.081312 * B;
%   ^^^ I tried to use 0.0 as well, but SSIM values are identical


YUV=cat(3,Y,U,V);
end
1个回答

我想通了:ssim()MATLAB 中的函数不处理 RGB 图像,而是将其作为 3D 图像进行威胁(例如,使用第三维时间来测量视频的质量)。因此,它将我的 3 色分量图像解释为具有 3 帧的视频。