將之前所產生黑白相間條紋的圖片做平均化,分別以3x3 pixels,5x5 pixels, 7x7 pixels三種filter來做平均化。原始圖形如下:
以下使用matlab來做算數平均濾波器(AMF)
%首先初始化三個矩陣,以便存取濾波後的圖形,矩陣的大小為256x256
for k1=1:256
for l1=1:256
image_amf33(k1,l1)=bwimage(k1,l1);
image_amf55(k1,l1)=bwimage(k1,l1);
image_amf77(k1,l1)=bwimage(k1,l1);
%temp1,temp2,temp3累加濾波矩陣內的灰階值,以便計算平均值
temp1=0;
temp2=0;
temp3=0;
%對某一個pixel(k1,l1),計算以其為中心之3x3 pixels的平均值
%忽略邊界效應,也就是不計算無法被這個3x3 filter覆蓋的pixels
%所以對3x3 filter而言,k1和l1從第2 pixel計算到255個pixel
if k1>1&&l1>1&&k1
%對某一個pixel(k1,l1),計算以其為中心之5x5 pixels的平均值
if k1>2&&l1>2&&k14&&l1>4&&k1  
左圖為3x3 filter的結果,右圖為7x7 filter的結果。
全站熱搜