我有两张图片(原始的和嘈杂的)。我正在计算 PSNR。我有点为彩色 RGB 图像做过,但我不知道如何用灰度来做。正如我所读到的,MSE 计算是不同的。对于 RGB,我正在这样做,就像您在以下代码中看到的那样(我使用的是 Visual C#):
for (int i = 0; i < bmp1.Width; i++)
{
for (int j = 0; j < bmp1.Height; j++)
{
mseR += Math.Pow(bmp1.GetPixel(i, j).R - bmp2.GetPixel(i, j).R, 2);
mseG += Math.Pow(bmp1.GetPixel(i, j).G - bmp2.GetPixel(i, j).G, 2);
mseB += Math.Pow(bmp1.GetPixel(i, j).B - bmp2.GetPixel(i, j).B, 2);
}
}
mse = (mseR + mseG + mseB) / ((bmp1.Width * bmp1.Height) * 3);
在这里,我正在使用像素的 R、G、B 进行操作。但我不知道在灰度图像的情况下应该采取什么措施。我也可以使用 RGB,因为它实际上给出了一些结果,还是我应该采取其他方法?