数字图像处理 平滑滤波

实验题目:

分别采用均值、中值、最大值、最小值滤波器对下边两幅图像进行平滑处理,输出处理结果并进行比较。


实验程序

clear;clc;
I1=imread('images\butterfly.bmp');
I2=imread('images\x.tif');
I1=rgb2gray(I1);
I2=rgb2gray(I2);
n=5; c=5;
mask=ones(n,n);
[r1,c1]=size(I1);[r2,c2]=size(I2);
subplot(2,5,1);imshow(I1);title('原图');
subplot(2,5,c+1);imshow(I2);
I1=double(I1);I2=double(I2);
I1_mean=I1;I2_mean=I2;
I1_max=I1;I2_max=I2;
I1_min=I1;I2_min=I2;
I1_median=I1;I2_median=I2;
mid=floor(n/2);
 %=======处理图片1================
for u=1:r1-n+1
    for v=1:c1-n+1
        A=I1(u:u+n-1,v:v+n-1);A=A.*mask;
        I1_mean(u+mid,v+mid)=mean(mean(A));
        I1_max(u+mid,v+mid)=max(max(A));
        I1_min(u+mid,v+mid)=min(min(A));
        I1_median(u+mid,v+mid)=median(median(A));
    end
end
%======处理图片2==================
for u=1:r2-n+1
    for v=1:c2-n+1
        B=I2(u:u+n-1,v:v+n-1);B=B.*mask;
        I2_mean(u+mid,v+mid)=mean(mean(B));
        I2_max(u+mid,v+mid)=max(max(B));
        I2_min(u+mid,v+mid)=min(min(B));
        I2_median(u+mid,v+mid)=median(median(B));
    end
end
subplot(2,5,2);imshow(I1_mean(mid+1:r1-mid,mid+1:c1-mid),[]);title('均值');
subplot(2,5,c+2);imshow(I2_mean(mid+1:r2-mid,mid+1:c2-mid),[]);   
subplot(2,5,3);imshow(I1_max(mid+1:r1-mid,mid+1:c1-mid),[]);title('最大值');
subplot(2,5,c+3);imshow(I2_max(mid+1:r2-mid,mid+1:c2-mid),[]);
subplot(2,5,4);imshow(I1_min(mid+1:r1-mid,mid+1:c1-mid),[]);title('最小值');
subplot(2,5,c+4);imshow(I2_min(mid+1:r2-mid,mid+1:c2-mid),[]);
subplot(2,5,5);imshow(I1_median(mid+1:r1-mid,mid+1:c1-mid),[]);title('中值');
subplot(2,5,c+5);imshow(I2_median(mid+1:r2-mid,mid+1:c2-mid),[]);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值