基於最小均方差(維納)濾波的圖像去模糊

逆濾波容易受到噪聲的影響。最小均方差濾波,該方法建立在圖像和噪聲都是隨機變量的基礎上,找出未污染圖像f 的一個估計f^ ,使他們之間的均方誤差最小。

e2=E{(ff^)2}

假設噪聲和圖像不相關,其中一個或另一個有零均值,且估計中的灰度級是退化圖像中灰度級的線性函數。誤差函數的最小值在頻率域表示:
F^(u,v)=[H(u,v)Sf(u,v)Sf(u,v)|H(u,v)|2+Sη(u,v)]=[H(u,v)|H(u,v)|2+Sη(u,v)/Sf(u,v)]=[1H(u,v)|H(u,v)|2|H(u,v)|2+Sη(u,v)/Sf(u,v)]G(u,v)

一個復向量與其共軛的乘積等於該複數量幅度的平方。維納濾波。
Sη(u,v)=|N(u,v)|2=
Sf(u,v)=|F(u,v)|2=退
當我們處理白噪聲時,譜|N(u,v)|2 是個常數,未退化圖像的功率譜很少是已知的。經常用下式近似表達:
F^(u,v)=[|H(u,v)|2|H(u,v)|2+K]G(u,v)

PSNR是最普遍和使用最爲廣泛的一種圖像客觀評價指標,然而它是基於對應像素點間的誤差,即基於誤差敏感的圖像質量評價。由於並未考慮到人眼的視覺特性(人眼對空間頻率較低的對比差異敏感度較高,人眼對亮度對比差異的敏感度較色度高,人眼對一個區域的感知結果會受到其周圍鄰近區域的影響等),因而經常出現評價結果與人的主觀感覺不一致的情況。
MSE表示當前圖像X和參考圖像Y的均方誤差(Mean Square Error),H、W分別爲圖像的高度和寬度:
MSE=1H×Wi=1Hj=1W(X(i,j)Y(i,j))2

PSNR的單位是dB,數值越大表示失真越小。n爲每像素的比特數,一般的灰度圖像取8,即像素灰階數爲256.
PSNR=10log10((2n1)2MSE)
%Read image

I = imread('1.jpg'); 
[d1,d2,d3] = size(I); 
if(d3 > 1) 
I = rgb2gray(I);
end
I = im2double(I);
%I = im2double(imread('cameraman.tif'));
figure,subplot(2,3,1),imshow(I);
title('Original Image ');

%Simulate a motion blur
LEN = 100;
THETA = 11;
PSF = fspecial('motion', LEN, THETA);
blurred = imfilter(I, PSF, 'conv', 'circular');
subplot(2,3,2),imshow(blurred);

PSNRblurr=psnr(I,blurred);
title('blurred');

%Restore the blurred image
wnr1 = deconvwnr(blurred, PSF, 0);
subplot(2,3,3),imshow(wnr1);
PSNR1=psnr(I,wnr1);
title('Restored Image');

%Simulate blur and noise
noise_mean = 0;
noise_var = 0.0001;
blurred_noisy = imnoise(blurred, 'gaussian', ...
                        noise_mean, noise_var);
subplot(2,3,4),imshow(blurred_noisy)
title('Simulate Blur and Noise')
PSNRnoise=psnr(I,blurred_noisy);

%Restore the blurred and noisy image:First attempt
wnr2 = deconvwnr(blurred_noisy, PSF, 0);
subplot(2,3,5);imshow(wnr2);title('Restoration of Blurred, Noisy Image Using NSR = 0')
PSNR2=psnr(I,wnr2);

%Restore the Blurred and Noisy Image: Second Attempt
signal_var = var(I(:));
wnr3 = deconvwnr(blurred_noisy, PSF, noise_var / signal_var);
subplot(2,3,6),imshow(wnr3)
PSNR3=psnr(I,wnr3);

title('Restoration of Blurred, Noisy Image Using Estimated NSR');

這裏寫圖片描述

J = deconvwnr(I,PSF,NSR)
NSR噪聲和信號比,顯著影響計算結果,計算結果可以用PSNR來度量。
http://blog.csdn.net/zjyruobing/article/details/49908979
http://blog.csdn.net/bluecol/article/details/46242355

發佈了60 篇原創文章 · 獲贊 94 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章