C#/C# OpenCV/
C# OpenCV 4-6. 노이즈 생성
2019. 11. 13.
대표함수
Cv2.Randn 정규분포를 나타내는 이미지를 랜덤하게 생성
Cv2.AddWeighted 두 이미지를 가중치를 설정하여 합침
Example Code
using System;
using System.Windows.Forms;
using OpenCvSharp;
namespace gasussiantest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Mat src = new Mat("image.jpg");
Mat noise = new Mat(src.Size(), MatType.CV_8UC3);
Cv2.Randn(noise, Scalar.All(0), Scalar.All(50));
Cv2.ImShow("filter", noise);
Cv2.AddWeighted(src, 1, noise, 1, 0, noise);
Cv2.ImShow("src", src);
Cv2.ImShow("dst", noise);
Cv2.WaitKey(0);
Cv2.DestroyAllWindows();
}
}
}
Explain Code
Cv2.Randn(noise, Scalar.All(0), Scalar.All(50));
Cv2.AddWeighted(src, 1, noise, 1, 0, noise);
Cv2.Randn(dst, Scalar mean, Scalar stddev)
평균값 mean, 표준편차 stddev 를 분포로하는 이미지를 dst에 출력
Cv2.AddWeighted(scr1, double alpha, src2, double beta, duoble gamma, dst)
src1*alpha + src2*beta+gamma 값을 가지는 이미지를 dst에 출력
결과