怎样用matlab给一维图像添加噪声

如题所述

首先图像最少是二维的,图像有是有长宽两个属性组成的矩阵。一维信号是向量.
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。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-05-15
  Matlab中为图片加噪声的语句:
  1、J = imnoise(I,type);
  2、J = imnoise(I,type,parameters);
  其中,I为原图象的灰度矩阵,J为加噪声后图象的灰度矩阵;
  也可以使用WGN,产生高斯白噪声
  语句如下:
  1、y = wgn(m,n,p) 产生一个m行n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度。
  2、y = wgn(m,n,p,imp) 以欧姆(Ohm)为单位指定负载阻抗。
  3、y = wgn(m,n,p,imp,state) 重置RANDN的状态。本回答被网友采纳
相似回答