Ⅰ 均值濾波怎麼算的
均值濾波是典型的線性濾波演算法,它是指在圖像上對目標像素給一個模板,該模板包括了其周圍的臨近像素(以目標象素為中心的周圍8個像素,構成一個濾波模板,即去掉目標像素本身),再用模板中的全體像素的平均值來代替原來像素值。均值濾波是典型的線性濾波演算法,它是指在圖像上對目標像素給一個模板,該模板包括了其周圍的臨近像素(以目標像素為中心的周圍8個像素,構成一個濾波模板,即去掉目標像素本身)。再用模板中的全體像素的平均值來代替原來像素值。均值濾波也稱為線性濾波,其採用的主要方法為鄰域平均法。線性濾波的基本原理是用均值代替原圖像中的各個像素值,即對待處理的當前像素點(x,y),選擇一個模板,該模板由其近鄰的若干像素組成,求模板中所有像素的均值,再把該均值賦予當前像素點(x,y),作為處理後圖像在該點上的灰度個g(x,y),即個g(x,y)=1/m ∑f(x,y) m為該模板中包含當前像素在內的像素總個數。均值濾波本身存在著固有的缺陷,即它不能很好地保護圖像細節,在圖像去噪的同時也破壞了圖像的細節部分,從而使圖像變得模糊,不能很好地去除雜訊點。
Ⅱ 求均值濾波和中值濾波演算法的MATLAB代碼
5*5的均值濾波代碼
w2=fspecial('average',[5 5]); %% 先定義一個濾波器
h=imfilter(a,w2,'replicate'); %%讓圖像通過濾波器
imshow(h);
imwrite(h,'8.jpg');
中值的暫時還不會
Ⅲ 編寫用均值濾波去噪的matlab程序,用兩種方法實現.(重謝)
1、雙循環語句,移動平均法。
<p>雙循環語句,移動平均法</p> <p>%均值濾波</p>
<p>clc,clear;</p>
<p>f=imread('lena.bmp');</p>
<p>subplot(121),imshow(f),title('原圖');</p>
<p>f1=imnoise(f,'gaussian',0.002,0.0008);</p>
<p>%subplot(222),imshow(f1),title('添加高斯雜訊圖');</p>
<p>k1=floor(3/2)+1;</p>
<p>k2=floor(3/2)+1;</p> <p>X=f1;</p>
<p>[M,N]=size(X);</p> <p>uint8Y=zeros(M,N);</p>
<p>funBox=zeros(3,3);</p> <p>fori=1:M-3</p>
<p>forj=1:N-3</p> <p>funBox=X(i:i+3,j:j+3);</p>
<p>s=sum(funBox(:));</p> <p>h=s/9;</p>
<p>Y(i+k1,j+k2)=h;</p> <p>end;</p>
<p>end;</p> <p>Y=Y/255;</p>
<p>subplot(122),imshow(Y),title('均值濾波');</p>
<p>實現圖:</p>
2、filter2。
<p>filter2</p>
<p>clearall;</p>
<p>I=imread('lena.bmp');</p>
<p>%讀入預處理圖像</p>
<p>imshow(I)</p> <p>%顯示預處理圖像</p>
<p>K1=filter2(fspecial('average',3),I)/255;</p> <p>%進行3*3均值濾波</p>
<p>K2=filter2(fspecial('average',5),I)/255;</p> <p>%進行5*5均值濾波</p>
<p>K3=filter2(fspecial('average',7),I)/255;</p> <p>%進行7*7均值濾波</p>
<p>figure,imshow(K1)</p> <p>figure,imshow(K2)</p>
<p>figure,imshow(K3)</p>
Ⅳ 平均濾波有幾種
1、限幅濾波法(又稱程序判斷濾波法)
A、方法:
根據經驗判斷,確定兩次采樣允許的最大偏差值(設為A)
每次檢測到新值時判斷:
如果本次值與上次值之差<=A,則本次值有效
如果本次值與上次值之差>A,則本次值無效,放棄本次值,用上次值代替本次值
B、優點:
能有效克服因偶然因素引起的脈沖干擾
C、缺點
無法抑制那種周期性的干擾
平滑度差
2、中位值濾波法
A、方法:
連續采樣N次(N取奇數)
把N次采樣值按大小排列
取中間值為本次有效值
B、優點:
能有效克服因偶然因素引起的波動干擾
對溫度、液位的變化緩慢的被測參數有良好的濾波效果
C、缺點:
對流量、速度等快速變化的參數不宜
3、算術平均濾波法
A、方法:
連續取N個采樣值進行算術平均運算
N值較大時:信號平滑度較高,但靈敏度較低
N值較小時:信號平滑度較低,但靈敏度較高
N值的選取:一般流量,N=12;壓力:N=4
B、優點:
適用於對一般具有隨機干擾的信號進行濾波
這樣信號的特點是有一個平均值,信號在某一數值范圍附近上下波動
C、缺點:
對於測量速度較慢或要求數據計算速度較快的實時控制不適用
比較浪費RAM
Ⅳ 用MATLAB編程實現均值濾波演算法
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
Ⅵ 怎樣用Matlab循環編程實現均值濾波演算法,採用3*3的窗口
隨便寫了一個方法,沒優化,運行速度有點慢。對於圖像范圍邊界,只跟圖像內部點做均值。
clear all
clc
A=imread('manuo1.jpg');
A=im2double(A);
subplot(1,2,1)
imshow(A);
[line,row]=size(A);
lines=0;
rows=0;
linee=0;
rowe=0;
temp=0;
B=[];
for i=1:1:line
for j=1:1:row
lines=i-1;
linee=i+1;
rows=j-1;
rowe=j+1;
if i==1
lines=1;
linee=2;
end
if i==line
lines=line-1;
linee=line;
end
if j==1
rows=1;
rowe=2;
end
if j==row
rows=row-1;
rowe=row;
end
temp=0;
for m=lines:1:linee
for n=rows:1:rowe
temp=temp+A(m,n);
end
end
B(i,j)=temp/((linee-lines+1)*(rowe-rows+1));
end
end
subplot(1,2,2)
imshow(B);
Ⅶ 計算3x3窗口的均值濾波和中值濾波(向下取整保留整數值)。
均值濾波和中值濾波屬於空域圖像增強的處理方法,均值濾波去麻點,中值濾波保邊緣。
要進行均值濾波首先要生成一個3x3矩陣。演算法運算窗口一般採用奇數點的鄰域來計算中值,最常用的窗口有3X3和5X5模型。
1、通過2個或者3個RAM的存儲來實現3X3像素窗口。
2、通過2個或者3個FIFO的存儲來實現3X3像素窗口。
3、通過2行或者3行Shift_RAM的存儲來實現3X3像素窗口。
(7)均值濾波演算法擴展閱讀:
注意事項:
1、空間域指圖像本身,空域變換直接對圖像中的像素進行操作。
2、在進行橫向滑動窗口濾波時,窗口中的像素僅僅是丟掉了左側一列,增加了右側一列數據,如果丟掉中間重疊的這一部分數據,到下個窗口再重新定址和讀取數據,無疑是計算的沉重負擔,所以該演算法的核心思想就是充分利用重疊部分,使用直方圖來計算中值,不需要排序演算法,快,且高效。
3、注意到兩個直方圖的累加是一個O(1)操作,和直方圖的元素個數有關,而直方圖元素個數是由圖像位深決定的。
Ⅷ 如何將一個經均值濾波後的圖片通過銳化演算法變的清晰一點
均值濾波是對圖像進行累加求和運算,而銳化是對圖像進行逆運算:差分,其本質就是提高邊緣像素的反差。因此銳化就可以增強圖像邊緣,讓模糊圖像變得清晰(給分吧!!)
Ⅸ 高斯濾波、均值濾波、中值濾波、最小均方差濾波、Gabor濾波的優缺點是什麼。
高斯濾波
由於高斯函數的傅立葉變換仍是高斯函數, 因此高斯函數能構成一個在頻域具有平滑性能的低通濾波器。可以通過在頻域做乘積來實現高斯濾波。均值濾波是對是對信號進行局部平均, 以平均值來代表該像素點的灰度值。矩形濾波器(Averaging Box Filter)對這個二維矢量的每一個分量進行獨立的平滑處理。通過計算和轉化 ,得到一幅單位矢量圖。這個 512×512的矢量圖被劃分成一個 8×8的小區域 ,再在每一個小區域中 ,統計這個區域內的主要方向 ,亦即將對該區域內點方向數進行統計,最多的方向作為區域的主方向。於是就得到了一個新的64×64的矢量圖。這個新的矢量圖還可以採用一個 3×3模板進行進一步的平滑。
均值濾波
把每個像素都用周圍的8個像素來做均值操作。可以平滑圖像,速度快,演算法簡單。但是無法去掉雜訊,這能微弱的減弱它。
中值濾波
常用的非線性濾波方法 ,也是圖像處理技術中最常用的預處理技術。它在平滑脈沖雜訊方面非常有效,同時它可以保護圖像尖銳的邊緣。加權中值濾波能夠改進中值濾波的邊緣信號保持效果。但對方向性很強的指紋圖像進行濾波處理時 ,有必要引入方向信息,即利用指紋方向圖來指導中值濾波的進行。
最小均方差濾波器
亦稱維納濾波器,其設計思想是使輸入信號乘響應後的輸出,與期望輸出的均方誤差為最小。
Gabor濾波
Gabor變換是英國物理學家 Gabor提出來的,由「測不準原理」可知,它具有最小的時頻窗,即Gabor函數能做到具有最精確的時間-頻率的局部化;另外, Gabor函數與哺乳動物的視覺感受野相當吻合,這一點對研究圖像特徵檢測或空間頻率濾波非常有用。恰當的選擇其參數, Gabor變換可以出色地進行圖像分割、識別與理解。如文獻提出的基於Gabor濾波器的增強演算法。