【數字圖像處理】均值濾波器示例--三值平均濾波

三值平均濾波的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('三值平均濾波');

代碼執行結果
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章