将opencv中的高斯噪声转换为emgu cv

时间:2013-04-12 19:26:07

标签: c# opencv noise emgucv

我正在研究图像处理,我需要用emgu cv在c#中产生高斯噪声。 我找到了代码

  

Mat gaussian_noise = img.clone();

     

randn(gaussian_noise,128,30);

在开放cv中产生高斯噪声。 emgu cv中的traslate代码是什么?

1 个答案:

答案 0 :(得分:0)

经过搜索,我发现equivalent to randn on Emgu是Matrix上的SetRandNormal(MCvScalar,MCvScalar)方法。因此,要制作类似于代码的内容,您必须执行以下操作:

//Create your image as Image<Bgr,byte> here, for example.
Matrix<byte> matrix = new Matrix<byte>(img.Width, img.Height);
CvInvoke.cvConvert(img, matrix);
matrix.SetRandNormal(new MCvScalar(128), new MCvScalar(30));
//And Here you can convert back to image and do whatever you want.

这应该可行,但是我没有在这台机器上安装Emgu,所以我现在无法测试它。

祝你好运!