添加高斯噪声&椒盐噪声并进行去噪(附代码) 您所在的位置:网站首页 matlab椒盐噪声生成 添加高斯噪声&椒盐噪声并进行去噪(附代码)

添加高斯噪声&椒盐噪声并进行去噪(附代码)

2023-11-02 14:49| 来源: 网络整理| 查看: 265

最近交了数图作业,mark一下。

1.添加高斯噪声 1.1 概率密度函数

这里写图片描述

σ为z的标准差,z为均值,用E。

1.2 生成高斯分布随机数序列

方法由Marsaglia和Bray在1964年提出,C++版本如下: mu是均值,sigma是方差,X服从N(0,1)分布

double generateGaussianNoise(double mu, double sigma) { static double V1, V2, S; static int phase = 0; double X; double U1,U2; if ( phase == 0 ) { do { U1 = (double)rand() / RAND_MAX; U2 = (double)rand() / RAND_MAX; V1 = 2 * U1 - 1; V2 = 2 * U2 - 1; S = V1 * V1 + V2 * V2; } while(S >= 1 || S == 0); X = V1 * sqrt(-2 * log(S) / S); } else{ X = V2 * sqrt(-2 * log(S) / S); } phase = 1 - phase; return mu+sigma*X; } 1234567891011121314151617181920212223 1.3 添加高斯噪声

高斯噪声为加性噪声,在原图的基础上加上噪声即为加噪后的图象。 代码如下:

void AddNoise(Mat img,double mu, double sigma,int k){ Mat outImage; outImage.create(img.rows,img.cols,img.type()); for(int x=0;x


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有