【发布时间】:2015-05-10 16:03:41
【问题描述】:
我正在处理彩色和灰度图像,我发现了灰度的均方误差,但不知道如何找到彩色图像的均方误差。
我为灰度图像做了这个:
acc = sum( (data_gray(:)- reconstructData(:)).^2 );
mse = acc / numel(data_gray);
对于彩色图像,以下代码不起作用,并给我如下错误: 错误使用 - 整数只能与同一类的整数或双精度标量组合。 finalCompress 中的错误(第 60 行) accRC = sum( (RC(:) - recRC(:)).^2 );
彩色图像 MSE 代码:
accRC = sum( (RC(:) - recRC(:)).^2 );
accGC = sum( (GC(:)- recGC(:)).^2 );
accBC = sum( (BC(:)- recBC(:)).^2 );
mse = accRC+accGC+accBC / numel(combineColorChannels);
combineColorChannels 是由(recRC,recGC,recBC) 组成的彩色图像
【问题讨论】:
-
我的理解是 MSE 是图像质量的衡量标准。因此,您需要比较 2 张图像才能获得 MSE 值。如果您对灰度进行了处理,则应用于彩色图像应该没有问题。此外,您还应该提供您已经做过的事情的代码,以提高获得好答案的机会。
-
@brodroll 我更新了帖子 :) 现在你可以查看了。
标签: matlab image-processing signal-processing