MATLAB--数字图像处理 添加高斯噪声
添加高斯噪声
概念
高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。高斯白噪声包括热噪声和散粒噪声。在通信信道测试和建模中,高斯噪声被用作加性白噪声以产生加性白高斯噪声。
我的理解:高斯噪声就是符合高斯分布的噪声,在数字图像处理这块就是二维的高斯分布(正态分布)。那么怎么添加高斯噪声呢?首先我们肯定要得到一个二维的、符合高斯分布的噪声矩阵,最后将其添加到原图像上。这样高斯噪声就添加成功了。
方法一:利用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.20971.4851 -0.2349 -0.0809 -1.0475 0.4734 -0.8012 -1.3658 -2.4489 1.2525 -0.07250.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.50351.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.00700.1054 1.0071 0.4267 0.6462 -1.1893 -1.8829 -1.2166 -0.2838 1.0378 0.82800.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()中参数写的是方差,而方法一、二中是标准差。
更多
获取更多资料、代码,微信公众号:海轰Pro
回复 海轰 即可
MATLAB--数字图像处理 添加高斯噪声相关推荐
- 数字图像处理——添加高斯噪声椒盐噪声
数字图像处理--添加高斯噪声&椒盐噪声 本文链接:https://blog.csdn.net/u012936765/article/details/53200918 最近交了数图作业,mark ...
- 通过matlab编程,对以下图像分别添加高斯噪声和椒盐噪声(参数自定),并使用理想低通滤波器、高斯低通滤波器和巴特沃斯低通滤波器进行去噪。
添加高斯噪声和椒盐噪声,并用理想低通滤波器进行去噪 t=imread('C:\Users\Administrator\Desktop\123.jpg'); subplot(3,2,1) imshow( ...
- 精通Matlab数字图像处理与识别nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;
文章目录 1. 数字图像处理与识别 1.1数字图像 1.2 数字图像处理与识别 1.3 数字图像处理的预备知识 1.4 基本的图像操作 2. MATLAB基础 2.1 常用命令 2.2 矩阵 2.3 ...
- MATLAB数字图像处理系统[多功能]
MATLAB数字图像处理系统[多功能] 目录 实验一 MATLAB数字图像处理初步 实验二 图像的代数运算 实验三 图像增强-空间滤波 实验四 图像分割 2 实验一 MATLAB数字图像处理初步 一. ...
- 【基于matlab数字图像处理GUI代码】_数字图像处理考核论文_大作业_项目
基于matlab数字图像处理GUI代码 代码: function varargout = Image_processing_GUI(varargin) % IMAGE_PROCESSING_GUI M ...
- python添加高斯噪声_使用Python-OpenCV向图片添加噪声(高斯噪声、椒盐噪声)
在matlab中,存在执行直接得函数来添加高斯噪声和椒盐噪声.Python-OpenCV中虽然不存在直接得函数,但是很容易使用相关的函数来实现. 代码: import numpy as np impo ...
- MATLAB说明图像增强,MATLAB数字图像处理(二)图像增强
1 图像增强 1.1 直方图均衡化 对于灰度图像,可以使用直方图均衡化的方法使得原图像的灰度直方图修正为均匀的直方图. 代码如下: 1 2 3I2=histeq( ...
- MATLAB数字图像处理系统-形状分类
MATLAB数字图像处理系统-形状分类 摘 要 数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人 ...
- MATLAB 数字图像处理GUI二值图像实验
电信19-2 翁大弟 摘要 图像信息是人类获取信息的重要来源及利用信息的重要手段,数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展:二是广泛的农牧业.环境.军事.工业等方面的应用需求 ...
最新文章
- Netty入门教程——认识Netty
- JS选中OPTION
- tp3.2php开启事务,ThinkPHP 3.2.2实现事务操作的方法
- Boostnote跨平台 Markdown 编辑器
- GitStats-Git历史统计信息工具(转载)
- 密码密文 android,Android开发之密码明文密文切换显示
- 全国多地元旦迎雾霾天气 京津冀霾明天短暂减弱
- 使用proteus8.9进行跑马灯程序仿真
- linux如何快速入门
- 全国计算机二级C语言考试难不难?应该怎么备考?
- win10本地策略组脚本
- MT8665原理图芯片资料介绍
- 微信自动回复机器人含源码和安装包
- Ubuntu上,使用shell脚本实现鼠标自动点击,打开并设置桌面软件
- Linux tc QOS 详解
- python之路_面向对象
- Android获取UI控件的宽高
- 支持向量机专题——线性可分支持向量机
- ologit 平行线检验 brant踩坑历程not all independent variables can be retained in binary logits brant test cann
- 市面常用芯片对应的ARM架构