【MATLAB数字图像处理】对彩色图像进行滤波操作

通常情况下,均值滤波和中值滤波针对的是二维图像,如果是彩色图像需转化为灰度图像进行滤波。除此之外,也可以对彩色图像 的三个通道分别进行滤波,最后再合并即可。

clear all;
clc;
I=imread('up4-Amp.png');
OutImg=I;
R=I(:,:,1);
G=I(:,:,2);
B=I(:,:,3);

R=medfilt2(R,[3,3]);
G=medfilt2(G,[3,3]);
B=medfilt2(B,[3,3]);

I1=cat(3,R,G,B);  % 对彩色图像R,G,B三个通道分别进行3×3模板的中值滤波 cat函数用于连接两个矩阵或数组

R=filter2(fspecial('average',3),R)/255;
G=filter2(fspecial('average',3),G)/255;
B=filter2(fspecial('average',3),B)/255;
I2= cat(3,R,G,B);  %对彩色图像R,G,B三个通道分别进行3×3模板的均值滤波
figure,imshow(I);
title('原图')

figure,
imshow(I1);
title('中值滤波')

figure,imshow(I2);
title('均值滤波')

 

你可能感兴趣的:(MATLAB数字图像处理)