U1和U2可以是随机值,经过上式产生的随机变量Z0,Z1满足标准高斯分布
实现代码如下:
#include<opencv2/imgproc/imgproc.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/core/core.hpp>
#include<iostream>
using namespace std;
using namespace cv;
//给图像添加椒盐噪声
Mat addSaltNoise(Mat src, int n)
{
Mat result = src.clone();
for (int k = 0; k < n; k++)
{
//随机选取行列值
int i = rand() % result.cols;
int j = rand() % result.rows;
if (result.channels() == 1)
{
result.at<uchar>(j, i) = 255;
}
else
{
result.at<Vec3b>(j, i)[0] = 255;
result.at<Vec3b>(j, i)[1] = 255;
result.at<Vec3b>(j, i)[2] = 255;
}
}
return result;
}
//给图像添加高斯噪声
double generateGaussianNoise(double mu, double sig