添加高斯噪声

概念

高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。高斯白噪声包括热噪声和散粒噪声。在通信信道测试和建模中,高斯噪声被用作加性白噪声以产生加性白高斯噪声。

我的理解:高斯噪声就是符合高斯分布的噪声,在数字图像处理这块就是二维的高斯分布(正态分布)。那么怎么添加高斯噪声呢?首先我们肯定要得到一个二维的、符合高斯分布的噪声矩阵,最后将其添加到原图像上。这样高斯噪声就添加成功了。

方法一:利用randn()函数生成高斯噪声

这里需要用到randn()函数,该函数就专门用来生成正态分布数据的一个函数。

比如 randn(10,10),然后这个矩阵和原图像矩阵相加即可(注意缩放灰度范围)

randn(10,10)

ans =

-0.3587 0.6694 0.2922 0.4127 -0.4399 -0.2027 1.2917 -1.2807 0.0522 -0.2097

1.4851 -0.2349 -0.0809 -1.0475 0.4734 -0.8012 -1.3658 -2.4489 1.2525 -0.0725

0.1214 0.2553 0.2774 -0.9508 -0.3378 -1.1350 0.7951 -0.6749 -0.1797 -0.5646

-0.7056 1.5769 -0.8234 1.5896 1.5743 0.1304 -0.3575 -1.0971 -0.2286 -1.5035

1.4605 0.6227 -0.6059 1.5939 0.0120 -0.1012 -0.9397 -1.6988 -2.3375 1.0503

-0.2038 0.7016 0.7310 -0.4053 -0.0419 -0.3276 -0.7675 0.6319 0.3662 -1.0595

-1.3164 0.1579 0.3200 -0.2055 0.5508 -0.6350 0.7769 1.1788 1.1854 -1.0070

0.1054 1.0071 0.4267 0.6462 -1.1893 -1.8829 -1.2166 -0.2838 1.0378 0.8280

0.9141 -1.5962 -0.0540 1.5489 1.0449 0.6155 -0.6227 0.2447 0.2955 -0.7770

-0.7474 0.6233 1.3306 -0.2167 -0.2423 1.3778 -1.0203 -1.1946 0.4893 0.0451

代码:

t=imread('a1.jpg');

[m,n,z]=size(t);

y=0+0.1*randn(m,n);%二维高斯分布矩阵 0是均值 0.1是标准差

%先将其double化,再除以255 便于后面计算

t1=double(t)/255;

%加上噪声

t1=t1+y;

%将像素范围扩大至0--255

t1=t1*255;

%转换为uint8类型

t1=uint8(t1);

subplot(1,2,1),imshow(t),title('原图');

subplot(1,2,2),imshow(t1),title('加入均值为0,标准差为0.1的高斯噪声后');

效果图:

方法二:随机生成高斯噪声(这个我还没有懂那个随机生成高斯噪声函数怎么来的!)

代码:

image=imread('a1.jpg');

[width,height,z]=size(image);

subplot(1,2,1);

imshow(image);

title('原图');

av=0;

std=0.1;

u1=rand(width,height);

u2=rand(width,height);

x=std*sqrt(-2*log(u1)).*cos(2*pi*u2)+av;

result1=double(image)/255+x;

result1=uint8(255*result1);

subplot(1,2,2);

imshow(result1);

title('加入均值为0,标准差为0.1的高斯噪声后');

效果图:

方法三:利用imnoise()函数

代码

t=imread('a1.jpg');

imshow(t),title('原图');

t1=imnoise(t,'gaussian',0,0.01);

figure,imshow(t1),title('添加均值为0,方差为0.01的高斯噪声');

t2=imnoise(t,'gaussian',0,0.02);

figure,imshow(t2),title('添加均值为0,方差为0.02的高斯噪声');

t3=imnoise(t,'gaussian',0,0.03);

figure,imshow(t3),title('添加均值为0,方差为0.03的高斯噪声');

t4=imnoise(t,'gaussian',0.2,0.01);

figure,imshow(t4),title('添加均值为0.2,方差为0.01的高斯噪声');

t5=imnoise(t,'gaussian',0.4,0.01);

figure,imshow(t5),title('添加均值为0.4,方差为0.01的高斯噪声');

效果图:

注意:imnoise()中参数写的是方差,而方法一、二中是标准差。

randn函数加噪声_MATLAB--数字图像处理 添加高斯噪声相关推荐

  1. 数字图像处理——添加高斯噪声椒盐噪声

    数字图像处理--添加高斯噪声&椒盐噪声 本文链接:https://blog.csdn.net/u012936765/article/details/53200918 最近交了数图作业,mark ...

  2. MATLAB--数字图像处理 添加高斯噪声

    添加高斯噪声 概念 高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声.如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声.高斯白噪声的二阶矩不相 ...

  3. 点云添加高斯噪声的C++实现

    文章目录 0 添加高斯噪声后的点云 1 什么是高斯噪声 2 怎样添加高斯噪声 0 添加高斯噪声后的点云 红色为添加的高斯噪声点,白色为原始点 1 什么是高斯噪声 高斯噪声是指它的概率密度函数服从高斯分 ...

  4. C++版本OpenCv教程(二十七)图像中添加高斯噪声

    OpenCV 4中同样没有专门为图像添加高斯噪声的函数,对照在图像中添加椒盐噪声的过程,我们可以根据需求利用能够产生随机数的函数来完成在图像中添加高斯噪声的任务.在OpenCV 4中提供了fill() ...

  5. 向数据中添加高斯噪声

    什么是高斯噪声 高斯噪声既是符合高斯正态分布的误差.一些情况下我们需要向标准数据中加入合适的高斯噪声会让数据变得有一定误差而具有实验价值.高斯噪声还有一些其他用途但是我不太了解,这里我是为了实现多项式 ...

  6. python添加高斯噪声_使用Python-OpenCV向图片添加噪声(高斯噪声、椒盐噪声)

    在matlab中,存在执行直接得函数来添加高斯噪声和椒盐噪声.Python-OpenCV中虽然不存在直接得函数,但是很容易使用相关的函数来实现. 代码: import numpy as np impo ...

  7. python高斯滤波和降噪_python添加高斯噪声和椒盐噪声,实现中值滤波和均值滤波,实现Roberts算子和Sobel算子...

    写在前面 HIT大三上学期视听觉信号处理课程中视觉部分的实验一,经过和学长们实验的对比发现每一级实验要求都不一样,因此这里标明了是2019年秋季学期的视觉实验一. 由于时间紧张,代码没有进行任何优化, ...

  8. 如何正确地给图像添加高斯噪声

    高斯噪声是一个均值为 0 方差为 σn2\sigma_n^2σn2​ 的正态分布,是一个加性噪声.但要正确地给图片添加高斯噪声,还要取决于程序中读入图片的数据格式. 如果图片的数据格式为 uint8, ...

  9. Python3|Opencv——添加高斯噪声Gauss Noise

    # -*- coding:utf-8 -*- #@Time: 2020/2/18 #@Author: EmmaHuu #@File: gauss_noise """ 添加 ...

  10. 通过matlab编程,对以下图像分别添加高斯噪声和椒盐噪声(参数自定),并使用理想低通滤波器、高斯低通滤波器和巴特沃斯低通滤波器进行去噪。

    添加高斯噪声和椒盐噪声,并用理想低通滤波器进行去噪 t=imread('C:\Users\Administrator\Desktop\123.jpg'); subplot(3,2,1) imshow( ...

最新文章

  1. Shell脚本头定义
  2. 看得“深”、看得“清” —— 深度学习在图像超清化的应用
  3. Python 正则(1)
  4. iptables详解--转
  5. Spring boot修改员工
  6. 好久不见(致win7)
  7. Redis安装及基本配置
  8. 最短路径之Spfa算法
  9. python lock_python多线程Lock和RLock的区别
  10. Linux内核安全模块学习-导言
  11. 必看 logit回归分析步骤汇总
  12. 北航软件工程硕士_21考研择校 | 北京航空航天大学软件工程怎么样?
  13. adb 查看屏幕大小_Android adb获取屏幕分辨率
  14. Web Services Ksoap 下载多张图片
  15. CentOS 7下安装Tomcat8.0.53并设置自动启动:
  16. Grad-CAM源码保姆级讲解(pytorch)
  17. jeapedu 115 複習習題05
  18. [转]中国将建口径8米巨型太阳望远镜
  19. Java-JUC-彻底搞懂JUC
  20. CF 375C Circling Round Treasures(状态压缩+bfs)

热门文章

  1. 引流工具GoReplay简介和在猪齿鱼效能平台中的应用
  2. 超详细wordPress主题制作教程
  3. 无盘服务器架设之一:编译iPXE,用于网络,ISO,USB等无盘启动
  4. SDP中fingerprint的作用
  5. 计算机中冰点还原快捷键,冰点还原软件如何使用,教您如何使用冰点还原软件...
  6. 利用树制作的简易家谱
  7. 嗖嗖移动业务大厅项目_会员合作项目:10086移动外呼业务
  8. 商家自研美团闪购开放平台SDK对接
  9. 2019-6-5-WPF-拼音输入法
  10. Ubuntu打开wps文件缺少字体