使用Matlab给图片添加噪声

Jpeg codec的测试中,需要测试worst case,所以要人为的去造一些加入噪声的图片。在此使用Matlab来进行加噪处理。

 

以下是根据网络资料,做了简单的整理,以备遗忘。

 

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); //立即弹出窗口,显示加了噪声后的图片

imwrite(J, ‘image_noise.jpg’, ‘jpg’, ‘Quality’, 100); //100%的质量存储加了噪声的图片,Quality的默认值为75.

 

以上程序就表示把原图像加入椒盐噪声,但注意要把图像和以上程序的M文件放在同一个子目录下。

你可能感兴趣的:(image,测试,matlab,存储,Parameters,Codec)