均值滤波的算法
㈠ 说明算术平均滤波,加权平均滤波和滑动平均滤波之间的区别以及各自的用途
算术平均滤波每次采样值所占的比例均相等,可用于任何场合:如压力、流量等。加权平均滤波则每次采样值所占的比例不等,可以突出某些部分,使其所占的比例增大,但各次采样的系数总和为∑Ci=1;这种滤波主要用于那些想突出采样的某些部分的场合。而滑动平均滤波则是每次只更新一个采样值,因而采样速度快。此滤波主要用于实时性要求比较快的场合。
1:smoothingAverageFilterMain.mclc;clear;fid = fopen('lenai.raw');temp= fread(fid, [256,256]);LenaRaw=uint8(temp');subplot(1,2,1) Imshow(LenaRaw);title('原始图像')subplot(1,2,2) Imshow(smoothingAverageFilter(LenaRaw,3));title('自制函数,使用用3*3模板,均值滤波图像')2:smoothingAverageFilter.mfunction returnData=smoothingAverageFilter(arg,arg2)[Iwidth,Ilength]=size(arg);temp=double(arg);returnData=zeros(Iwidth,Ilength);totalLength=arg2*arg2;for i=1:Iwidth-arg2+1 for j=1:Ilength-arg2+1 % temp(i,j)=average(arg(i:i+arg2,j:j+arg2)); sum=0.0; for n=1:arg2 for k=1:arg2 sum=sum+temp(i+n-1,j+k-1); end end returnData(i,j)=sum/totalLength; endendreturnData=uint8(returnData);end