如何用MATLAB对时间序列加尖峰噪声,也就说,在MATLAB中,尖峰噪声用什么函数表示?

如何用MATLAB对时间序列加尖峰噪声,也就说,在MATLAB中,尖峰噪声用什么函数表示?,第1张

rnd(0,1,1,n)

0是均值

第一个1 标准差

n是序列长度,或者你也可以normrnd(0,1)每次声称一个

零均值方差为0.01的不相关白噪声序列

方差0.01==>sigma=0.1

normrnd(0, 0.1, 1, n)

解释同上

M=imread('dl011.jpg') %读取MATLAB中的名为cameraman的图像

subplot(3,3,1)

imshow(M) %显示原始图像

title('original')

P1=imnoise(M,'gaussian',0.02) %加入高斯躁声

subplot(3,3,2)

imshow(P1)%加入高斯躁声后显示图像

title('gaussian noise')

P2=imnoise(M,'salt &pepper',0.02) %加入椒盐躁声

subplot(3,3,3)

imshow(P2)%%加入椒盐躁声后显示图像

title('salt &pepper noise')

g=medfilt2(P1) %对高斯躁声中值滤波

subplot(3,3,5)

imshow(g)

title('medfilter gaussian')

h=medfilt2(P2) %对椒盐躁声中值滤波

subplot(3,3,6)

imshow(h)

title('medfilter salt &pepper noise')

l=[1 1 1 %对高斯躁声算术均值滤波

1 1 1

1 1 1]

l=l/9

k=conv2(P1,l)

subplot(3,3,8)

imshow(k,[])

title('arithmeticfilter gaussian')

%对椒盐躁声算术均值滤波

d=conv2(P2,l)

subplot(3,3,9)

imshow(d,[])

title('arithmeticfilter salt &pepper noise')

首先图像最少是二维的,图像有是有长宽两个属性组成的矩阵。一维信号是向量.

MATLAB 给图像添加噪声的命令为

imnoise

该函数的基本语法为:

g=imnoise(f,type,parameters)

f为是输入图像。函数imnoise在给图像添加噪声之前,将它转换为范围[0,1]内的double类图像。指定噪声参数时必须考虑到这一点。

g=imnoise(f,'gaussian',m,var)将均值M,方差为var的高斯噪声加到图像f上,默认值为均值是0,方差是0.01的噪声。

g=imnoise(f,'localvar',V)将均值为0,局部方差为V的高斯噪声添加到图像f上,其中V是与f大小相同的一个数组,它包含了每一个点的理想方差值。

g=imnoise(f,'localvar',image_intensity,var)将

均值为0的高斯噪声添加到图像f中,其中噪声的局部方差var是图像f的亮度值的函数。参量image_intensity和var是大小相同的向

量,plot(image_intensity,var)绘制出噪声方差和图像亮度的函数关系。向量image_intensity必须包含范围在

[0,1]内的归一化亮度值。

g=imnoise(f,'salt&pepper',d)用椒盐噪声污染图像f,其中d是噪声密度(即包括噪声值的图像区域的百分比)。因此,大约有d*numel(f)个像素受到影响。默认的噪声密度为0.05。

g=imnoise(f,'speckle',var)用方程g=f+n*f)将乘性噪声添加到图像f上,其中n是均值为0,方差为var的均匀分布的随机噪声,var的默认值是0.04。

g=imnoise(f,'poisson')从数据中生成泊松噪声,而不是将人工的噪声添加

到数据中,为了遵守泊松统计,unit8和unit16类图像的亮度必须和光子的数量相符合。当每个像素的光子数量大于65535时,就要使用双精度图像。亮度值在0到1之间变化,并且对应于光子的数量除以10e12。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存