我正在尝试为图像添加噪音然后去噪它来测试我的DeNoising算法!所以对于基准我是指这个Online Test samples。我正在尝试复制Noise模型。
Mat mSource_Bgr;
mSource_Bgr= imread(FileName_S,1);
double m_NoiseStdDev=10;
Mat mNoise_Bgr = mSource_Bgr.clone();
Mat mGaussian_noise = Mat(mSource_Bgr.size(),CV_8UC3);
randn(mGaussian_noise,0,m_NoiseStdDev);
mNoise_Bgr += mGaussian_noise;
normalize(mNoise_Bgr,mNoise_Bgr,0, 255, CV_MINMAX, CV_8UC3);
imshow("Output Window",mNoise_Bgr);
//imshow("Gaussian Noise",mGaussian_noise);
问题:
为图像添加 会改变图像的整体亮度,从而改变我的最终结果PSNR!
我希望结果尽可能接近to this one!
到目前为止我尝试了什么!
我试图仅在颜色通道中添加噪点。
仅在UV颜色通道中添加噪点&保持Y频道不变。
结果非常糟糕&图像的整体颜色正在改变!如果需要,将添加代码!
所以对此有任何建议非常感谢!可以给我一些为图像添加噪声的公式!
答案 0 :(得分:2)
看起来您的噪声矩阵无法获得负值,因为它具有unsigned char元素类型。尝试使用实值矩阵进行操作,它应该会有所帮助。
答案 1 :(得分:0)
主要有两种方法可以在彩色图像中添加说出awgn噪声(平均值= 0,标准偏差= 30)。
首先:您可以分别向红色,绿色和蓝色通道(或任何其他颜色模型-HSI,YUV,Lab)中添加平均值= 0,标准偏差= 30的awgn噪声;然后结合噪声通道以形成彩色的噪声图像。
第二:使用内置功能直接向彩色图像添加噪点。例如。 Matlab中的imnoise()。
我尝试了这两种方法(无声和独立),得到了相同的结果。
答案 2 :(得分:0)
您提到“我试图仅在颜色通道中添加噪点。 将输入图像转换为YUV颜色空间 仅在“ UV颜色”通道中添加“噪波”,并保持“ Y”通道不变。”
如果您使用的是YUV颜色模型,建议您做相反的事情。保持U和V通道不变,并且仅向Y通道添加噪声。