개발/OpenCV
가우시안 노이즈(Gaussian Noise)
njsung
2018. 4. 9. 23:05
반응형
#include <opencv\highgui.h>
#include <opencv2\opencv.hpp>
using namespace cv;
int main() {
Mat inputImg;
inputImg = imread("cat.png", CV_LOAD_IMAGE_COLOR);
resize(inputImg, inputImg, Size(), 0.3, 0.3, CV_INTER_AREA);
Mat noise_image(inputImg.size(), CV_16SC3);
double average = 0.0;
double std = 30.0;
randn(noise_image, Scalar::all(average), Scalar::all(std));
Mat temp_image;
inputImg.convertTo(temp_image, CV_16SC3);
addWeighted(temp_image, 1.0, noise_image, 1.0, 0.0, temp_image);
temp_image.convertTo(temp_image, inputImg.type());
namedWindow("Original", CV_WINDOW_AUTOSIZE);
namedWindow("GaussianNoise", CV_WINDOW_AUTOSIZE);
imshow("Original", inputImg);
imshow("GaussianNoise", temp_image);
waitKey(0);
return 0;
}
가우시안 노이즈를 원본이미지에 추가하는 코드입니다.
결과는 다음과 같습니다.
좌측이 원본 이미지, 우측이 노이즈를 추가한 이미지입니다.
반응형