用MATLAB编程实现均值滤波算法?
答案:1 悬赏:80 手机版
解决时间 2021-05-09 03:48
- 提问者网友:趣果有间
- 2021-05-08 15:05
用MATLAB编程实现均值滤波算法? (采用3×3的窗口) 要求简洁 明了
最佳答案
- 五星知识达人网友:思契十里
- 2021-05-08 15:22
1:smoothingAverageFilterMain.m
clc;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.m
function 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;
end
end
returnData=uint8(returnData);
end
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯