我正在研究图像处理,我需要使用 emgu cv 在 c# 中制作高斯噪声。我找到代码
Mat gaussian_noise = img.clone();
randn(gaussian_noise,128,30);
在开放式简历中制造高斯噪声。emgu cv中的翻译代码是什么?
经过一番搜索,我发现在 Emgu 上与 randn 等效的是 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,所以我现在无法测试它。
祝你好运!