【数字图像处理】均值滤波器示例--三值平均滤波

三值平均滤波的MATLAB实现


代码实现

% 三值平均滤波
x=[1:100];y1=5*sin((0.03*pi)*x);
N = wgn(1,100,0.1);
z1=N+y1;
signal = z1;
k=1; 
m=1; % m=6,则为十三值平均滤波
len = 2*m + 1; % 长度3 
signal_filered = [];
t = [];
for i=m+1:length(signal)-m
    t(k) = i;
    % 每个像素点取i-m至i+m个邻域点
    signal_filered(k) = mean(signal(i-m:i+m)); % mean - 数组的均值
    k = k+1;
end
s = signal_filered;
% hold on 是当前轴及图形保持而不被刷新,准备接受此后将绘制
% hold off 使当前轴及图形不再具备被刷新的性质
figure; plot(t,s,'-dr');hold on;
plot(x,z1,'-x');hold on;
plot(x,y1,'-k');title('三值平均滤波');

代码执行结果
【数字图像处理】均值滤波器示例--三值平均滤波_第1张图片

你可能感兴趣的:(学业专栏,#,数字图像处理,MATLAB)