opencv学习日记——图像添加高斯噪声
1、图像结果
2、代码部分
#include<iostream>
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
//读取图片
Mat img = imread("nazha1.jpg");
//读取灰度图
Mat gray = imread("nazha1.jpg", IMREAD_ANYDEPTH);
if (img.empty() || gray.empty())
{
cout << "输入为空";
return -1;
}
//生成与图片尺寸类型相同的矩阵
Mat img_noise = Mat::zeros(img.rows, img.cols, img.type());
Mat gray_noise = Mat::zeros(gray.rows, gray.cols, gray.type());
imshow("原图img", img);
imshow("原图gray", gray);
//给空矩阵进行赋值
RNG rng;
//rng.fill(空矩阵, 高斯噪声,均值, 方差 )
rng.fill(img_noise, RNG::NORMAL, 10, 20);
rng.fill(gray_noise, RNG::NORMAL, 15, 30);
imshow("img噪声", img_noise);
imshow("gray噪声", gray_noise);
//给图片添加噪声
img = img + img_noise;
gray = gray + gray_noise;
imshow("img加噪声", img);
imshow("gray加噪声", gray);
img = img - img_noise;
gray = gray - gray_noise;
imshow("img加噪声", img);
imshow("gray加噪声", gray);
waitKey(0);
return 0;
}