matlab彩色图片中值滤波
时间: 2023-08-06 16:16:35 浏览: 215
matlab图像中值滤波
在 MATLAB 中,可以使用 medfilt2 函数进行彩色图片的中值滤波。
该函数的语法格式为:
```
B = medfilt2(A,[m n])
```
其中,A 表示待处理的原始彩色图片,[m n] 表示滤波器的尺寸,通常选择奇数,例如 [3 3]、[5 5] 等。
下面是一个示例代码:
```
% 读入原始彩色图片
I = imread('color_image.jpg');
% 对 R、G、B 三个通道分别进行中值滤波
R = medfilt2(I(:, :, 1), [3 3]);
G = medfilt2(I(:, :, 2), [3 3]);
B = medfilt2(I(:, :, 3), [3 3]);
% 合并三个通道,生成中值滤波后的彩色图片
B = cat(3, R, G, B);
% 显示结果
subplot(1, 2, 1);
imshow(I);
title('原始彩色图片');
subplot(1, 2, 2);
imshow(B);
title('中值滤波后的彩色图片');
```
其中,cat 函数用于将三个通道合并成一张彩色图片。
阅读全文