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

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

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

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

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

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

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

image.jpg如何增强该图像,写出matlab程序有以下几个方法:

1. 灰度线性变换, 是一种空域的方法, 直接对每一个像素的灰度值进行增强图像。2. 直方图均衡变换。通常用来增加许多图像的全局对比度,亮度可以更好地在直方图上分布。3. 同态滤波利用去除乘性噪声(multiplicative noise),可以同时增加对比度以及标准化亮度,借此达到图像增强的目的。

%%中值

I=imread('lena.bmp') %读原图

J1=imnoise(I,'salt &pepper',0.02)%加均值为0,方差为0.02的椒盐噪声

J2=imnoise(I,'gaussian',0.02) %加均值为0,方差为0.02的高斯噪声。

subplot(2,2,1),imshow(J1) %显示有椒盐噪声图像

subplot(2,2,2),imshow(J2) %显示有高斯噪声图像

I1= medfilt2(J1,[5,5])%对有椒盐噪声图像进行5×5方形窗口中值滤波

I2= medfilt2(J2,[5,5])%对有高斯噪声图像进行5×5方形窗口中值滤波

subplot(2,2,3),imshow(I1) %显示有椒盐噪声图像的滤波结果

subplot(2,2,4),imshow(I2) %显示有高斯噪声图像的滤波结果

%%均衡

I=imread('lena.bmp') %将图读入到I

imshow(I) %显示图像

figure,imhist(I) %直方图

I2=histeq(I) %均衡化

figureimshow(I2) %处理后图像显示

figureimhist(I2) %均衡化后直方图

imwrite(I2,'lena2.bmp') %保存图像


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

原文地址:https://54852.com/bake/11571554.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存