matlab彩色图像去除椒盐噪声代码
时间: 2024-06-11 09:02:41 浏览: 24
MATLAB中可以使用中值滤波来去除椒盐噪声。中值滤波的基本思想是:用像素点邻域灰度值的中值来代替该像素点的灰度值,这样可以有效地去除椒盐噪声。下面是一个简单的MATLAB代码示例:
```matlab
% 读取图像
img = imread('lena.png');
% 添加椒盐噪声
noise_img = imnoise(img, 'salt & pepper', 0.02);
% 中值滤波去噪
filter_img = medfilt2(noise_img, [3, 3]);
% 显示图像
subplot(1, 3, 1), imshow(img), title('原始图像');
subplot(1, 3, 2), imshow(noise_img), title('加噪图像');
subplot(1, 3, 3), imshow(filter_img), title('去噪图像');
```
上述代码中,首先读取原始图像,然后使用`imnoise`函数添加椒盐噪声,其中`'salt & pepper'`表示添加椒盐噪声,`0.02`表示噪声比例。接着使用`medfilt2`函数进行中值滤波,第二个参数`[3, 3]`表示邻域大小为$3\times3$。最后使用`subplot`和`imshow`函数将原始图像、加噪图像和去噪图像显示在同一张图像上。