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

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

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

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

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

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

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

J = imnoise(I,'gaussian',0,20);
仔细看一下,其中参数应该是020,不是0,20
改一下就可以了
J = imnoise(I,'gaussian',020);

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帮助文件。
比如说:
I=imread('imagebmp');
J=imnoise(I,'salt & pepper');
imshow(J);
以上程序就表示把原图像加入椒盐噪声,但注意要把图像和以上程序的M文件放在同一个子目录下;
这回应该明白了吧?

I=imread('D:\matlab71\toolbox\images\imdemos\cameramantif');
J=imnoise(I,'gaussian',0,20);
imshow(J);
%%%imnoise可以加任意方差的高斯噪声,0为均值,20为方差,此时噪声非常严重,淹没原图像,I是灰度图像

矩阵g太小,所以不明显。
一般用于大一点的矩阵实验效果会更好,例如:
h=imread('photojpg'); %读入彩色
c=rgb2gray(h); %把彩色转化成灰度,256级
figure,imshow(c),title('原始图象'); %显示原始图象
g=imnoise(c,'gaussian',01,0002); %加入高斯噪声
figure,imshow(g),title('加入高斯噪声之后的图象'); %显示加入高斯噪声之后
上面倒数第二句就是在原图加上高斯噪声的效果。

matlab 程序的文件代码是以m文件的形式呈现的。将matlab代码编写进m文件内然后运行即可。
例子:
建立一个 helloworldm
文件内包括内容如下:
fprintf('Hello World!');
使用快捷键F5直接运行,然后可以在控制台下看到打印的:
Hello World!


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

原文地址: http://outofmemory.cn/yw/10254692.html

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

发表评论

登录后才能评论

评论列表(0条)

保存