matlab图像去噪详细代码
时间: 2023-09-15 07:17:59 浏览: 71
图像去噪是图像处理中的一项重要任务,常用的方法有高斯滤波、中值滤波、小波去噪等。下面是使用matlab实现高斯滤波和中值滤波的详细代码示例。
高斯滤波:
```matlab
% 读取图像
I = imread('lena.bmp');
% 添加高斯噪声
J = imnoise(I,'gaussian',0.1,0.01);
% 高斯滤波
K = imgaussfilt(J,2);
% 显示图像
figure
subplot(1,3,1),imshow(I),title('原始图像')
subplot(1,3,2),imshow(J),title('添加高斯噪声后的图像')
subplot(1,3,3),imshow(K),title('高斯滤波后的图像')
```
中值滤波:
```matlab
% 读取图像
I = imread('lena.bmp');
% 添加椒盐噪声
J = imnoise(I,'salt & pepper',0.1);
% 中值滤波
K = medfilt2(J,[3,3]);
% 显示图像
figure
subplot(1,3,1),imshow(I),title('原始图像')
subplot(1,3,2),imshow(J),title('添加椒盐噪声后的图像')
subplot(1,3,3),imshow(K),title('中值滤波后的图像')
```
其中,imread函数用于读取图像,imnoise函数用于添加噪声,imgaussfilt函数和medfilt2函数分别用于高斯滤波和中值滤波,subplot函数用于在同一个窗口中显示多个图像。
阅读全文