中值濾波源碼
❶ matlab圖像平滑處理,用鄰域平均法和中值濾波法實現圖像平滑處理。求源代碼(要有注釋)
%%中值
I=imread('lena.bmp'); %讀原圖
J1=imnoise(I,'salt & pepper',0.02); %加均值為0,方差為0.02的椒鹽雜訊
J2=imnoise(I,'gaussian',0.02); %加均值為0,方差為0.02的高斯雜訊。
subplot(2,2,1),imshow(J1); %顯示有椒鹽雜訊圖像
subplot(2,2,2),imshow(J2); %顯示有高斯雜訊圖像
I1= medfilt2(J1,[5,5]); %對有椒鹽雜訊圖像進行5×5方形窗口中值濾波
I2= medfilt2(J2,[5,5]); %對有高斯雜訊圖像進行5×5方形窗口中值濾波
subplot(2,2,3),imshow(I1); %顯示有椒鹽雜訊圖像的濾波結果
subplot(2,2,4),imshow(I2); %顯示有高斯雜訊圖像的濾波結果
%%均衡
I=imread('lena.bmp'); %將圖讀入到I
imshow(I); %顯示圖像
figure,imhist(I); %直方圖
I2=histeq(I); %均衡化
figure;imshow(I2); %處理後圖像顯示
figure;imhist(I2); %均衡化後直方圖
imwrite(I2,'lena2.bmp'); %保存圖像
❷ 圖象加權中值濾波的MATLAB實現
在matlab中有中值濾波自帶函數,信噪比的計算方法我也有,中值濾波具體實現我可以給樓主一份資料,信噪比計算如下:%I為原始圖像,I2為壓縮後的圖像
Xmean=mean(mean(I))*ones(size(I));
segma2=sum(sum((I-Xmean).^2))/prod(size(I));
D=sum(sum((I-I2).^2))/prod(size(I2));
SNR=10*log10(segma2/D) %%%%% 信噪比 (SNR:Signal to Noise Ratio)
PSNR=10*log10(255^2/D) %%%%% 峰值信噪比(PSNR:Peak Signal to Noise Ratio)
❸ 中值濾波的實現方法
中值濾波是基於排序統計理論的一種能有效抑制雜訊的非線性信號處理技術,中值濾波的基本原理是把數字圖像或數字序列中一點的值用該點的一個鄰域中各點值的中值代替,讓周圍的像素值接近的真實值,從而消除孤立的雜訊點。方法是用某種結構的二維滑動模板,將板內像素按照像素值的大小進行排序,生成單調上升(或下降)的為二維數據序列。二維中值濾波輸出為g(x,y)=med{f(x-k,y-l),(k,l∈W)} ,其中,f(x,y),g(x,y)分別為原始圖像和處理後圖像。W為二維模板,通常為3*3,5*5區域,也可以是不同的的形狀,如線狀,圓形,十字形,圓環形等。
1:通過從圖像中的某個采樣窗口取出奇數個數據進行排序
2:用排序後的中值取代要處理的數據即可
❹ 急,求匯編語言編程:中值濾波和均值濾波
告訴你一本書叫做計算機控制技術上面有大量的這樣的程序!