打开origin
image:输入图像数据,类型应为ndarray,输入后将转换为浮点数。
mode:选择添加噪声的类别。字符串str类型。应为以下几种之一:
mode 噪声类型 备注
gaussian 高斯噪声
localvar 高斯白噪声 在“图像”的每个点处具有指定的局部方差
poisson 泊松分布噪声
salt 盐噪声 随机用1替换像素。属于高灰度噪声
pepper 胡椒噪声 随机用0或-1替换像素,属于低灰度噪声
s&p 椒盐噪声
speckle 使用image + n*image的乘性噪声 n是具有指定均值和方差的均匀噪声
seed :类型为int。 将在生成噪声之前设置随机种子,以进行有效的伪随机比较。
clip:类型为bool。若为True(default)则在加入‘speckle’, ‘poisson’, 或 ‘gaussian’这三种噪声后进行剪切以保证图像数据点都在[0,1]或[-1.1]之间。若为False,则数据可能超出这个范围。
mean:类型为float。 表示随机分布的均值,用于‘gaussian’和‘speckle’,默认为0。
var: 类型为float。 表示随机分布的方差,(标准差^2)用于’gaussian’和‘speckle’。 默认为0.01。
local_vars:类型为ndarray。表示图像每个像素点处的局部方差,正浮点数矩阵,和图像同型,用于‘localvar’。
amount:类型为float。表示 椒盐噪声像素点替换的比例,在[0,1]之间。用于‘salt’, ‘pepper’,和 ‘salt &pepper’. 默认为0.05
salt_vs_pepper:类型为float。表示盐噪声和胡椒噪声的比例,在[0,1]之间。数字越大代表用1替换越多(more salt). 默认 为 0.5
输出(返回值)out:类型为ndarray。
Matlab中为图片加噪声的语句是:
(1)J = imnoise(I,type)
(2)J = imnoise(I,type,parameters)
其中I为原图象的灰度矩阵,J为加噪声后图象的灰度矩阵
一般情况下用(1)中表示即可,(2)中表示是允许修改参数,而(1)中使用缺省参数
至于type可有五种,分别为'gaussian'(高斯白噪声),'localvar'(与图象灰度值有关的零均值高斯白噪声),'poisson'(泊松噪声),'salt &pepper'(椒盐噪声)和'speckle'(斑点噪声)具体(2)中参数值的设定可根据个人需要其余情况以及若还有不懂请参考Matlab帮助文件。
在此使用'salt &pepper'(椒盐噪声),并将其参数设置为0.6。其例子如下:
L = imread(‘image_ori.jpg’)
J = imnoise(L, ‘salt &pepper’, 0.6)
imshow(J)//立即d出窗口,显示加了噪声后的图片
imwrite(J, ‘image_noise.jpg’, ‘jpg’, ‘Quality’, 100)//按100%的质量存储加了噪声的图片,Quality的默认值为75.
以上程序就表示把原图像加入椒盐噪声,但注意要把图像和以上程序的M文件放在同一个子目录下。
image.jpg如何增强该图像,写出matlab程序有以下几个方法:1. 灰度线性变换, 是一种空域的方法, 直接对每一个像素的灰度值进行增强图像。2. 直方图均衡变换。通常用来增加许多图像的全局对比度,亮度可以更好地在直方图上分布。3. 同态滤波利用去除乘性噪声(multiplicative noise),可以同时增加对比度以及标准化亮度,借此达到图像增强的目的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)