全站数据
8 4 2 0 5 8 1

matlab中怎么加高斯噪声

建造师课件中心 | 简单学习,快乐成才!         
问题更新日期:2024-11-09 00:50:37

问题描述

matlab中怎么加高斯噪声求高手给解答
精选答案
最佳答案

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

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

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

代码示例:

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的高斯噪声后');