如何用MATLAB给图片加椒盐噪声和滤噪?

如何用MATLAB给图片加椒盐噪声和滤噪?,第1张

1、打开Matlab,点击“新建脚本”,如下图所示。

2、在代码编辑区输入代码,先利用Imread函数读取图像,然后使用Imshow函数将图像展示出来,以便与添加噪声后的图像做对比。

3、Matlab中利用imnoise函数可以添加各种噪声,而使用“gaussian”参数就可以添加高斯噪声。

4、选择保存位置,并为m文件重命名,如下图所示所示,设置完成,点击“保存”。

5、这样,就在Matlab中为图像添加了高斯噪声,并且把一组对比图显示在同一个窗口中,如下图所示。

使用imnoise函数

X=imread('D:\matlab7.1\toolbox\images\imdemos\greens.jpg')

Y=imnoise(X,'gaussian')%%默认均值为0,方差为0.01

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

A double-class image must have values between zero and one,这个问题是你的图像是double型,但是你的图像的数值不是0-1之间,给他除以255即可!

MATLAB中产生高斯白噪声的两个函数MATLAB中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN。WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声。

randn函数产生高斯分布序列,例如:

y=randn(1,2500) 

y=y/std(y) 

y=y-mean(y) 

a=0.0128 

b=sqrt(0.9596) 

y=a+b*y

y=rand(1,100)均与分布

R=exprnd(MU,m,n) 生成m×n形式的指数分布的随机数矩阵。

相关研究

高斯噪声的产生作为一个系统的小模块,需要有速度快、占用资源小、精度高等特殊要求,采用FPGA生成高斯噪声,首先使用m序列发生器产生均匀的随机分布的噪声,然后利用均匀分布和高斯分布之间的映射函数关系,采用线性插值拟合出一次曲线,进而产生高斯噪声。

以上内容参考:百度百科-白噪声发生器


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11954386.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存