matlab的图片滤波处理


椒盐噪声
高斯噪声
MATLAB自带函数
均值滤波
中值滤波
自编模版

%读取图片并转换为灰度图片

I=imread('1.jpg');

imshow(I);

I1=rgb2gray(I);

imshow(I1);
椒盐噪声

I2=imnoise(I1,'gaussian');

figure,imshow(I2);
高斯噪声

I3=imnoise(I1,'salt & pepper');

figure,imshow(I3);
MATLAB自带函数

均值滤波

avgModel=fspecial('average',3);%3*3的模版

Iavg=filter2(avgModel,I2)/255;

figure,imshow(Iavg);
中值滤波

Imid=medfilt2(I3,[3,3]);%3*3的模版

figure,imshow(Imid);
自编模版

%均值滤波

n=3;%行数为3

model(1:n,1:n)=1;%算子为3*3,全部为1

Iavg=I2;%设置传入的图片

for i=2:length(Iavg)-1%遍历所有的列数和行数

    for j=2:length(Iavg(2,:))-1

        x=I2(i-(n-1)/2:i+(n-1)/2,j-(n-1)/2:j+(n-1)/2);%3*3

        xuint=uint8(model).*uint8(x);

        x_avg=mean(xuint(:));%求出中心点的平均值

        Iavg(i,j)=x_avg;%赋值

    end

end

figure,imshow(Iavg);
%中值滤波

n=3;%行数为3

Imid=I3;%设置传入的图片

for i=2:length(I1)-1

    for j=2:length(I1(2,:))-1

        x=I3(i-(n-1)/2:i+(n-1)/2,j-(n-1)/2:j+(n-1)/2);%3*3

        x_mid=median(x(:));

        Imid(i,j)=x_mid;

    end

end

figure,imshow(Imid);

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陌上花开缓缓归以

你的鼓励将是我创作的最大动力,

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值