私は2つの画像(オリジナルとノイズ)を持っています。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も使用できますか、それとも別のものを使用する必要がありますか?