基於matlab的退化圖像復原(三)------維納濾波復原


 

 

 

還是照着書上推了一遍,

反正寫一遍之后很好理解,

也許是只是這點算法比較簡單基礎。。。

講到底還是統計的知識,二維的最小二乘法,

讓均方差最小

 

放代碼:

I=imread('src.png');
I0=rgb2gray(I);
subplot(151);
imshow(I0);
title('src');
H=fspecial('motion',30,45); %運動卷積的偏移矩陣
MotionBlur=imfilter(I0,H,0,'conv'); %卷積
MF=imfilter(I0,H,'circular','conv');%圖像大小通過將圖像看成是一個二維周期函數的一個周期來擴展
subplot(152);
imshow(MotionBlur);
title('MotionBlur')
subplot(153);
imshow(MF);
title('MF')
wnr=deconvwnr(MotionBlur,H);
subplot(154);
imshow(wnr)
title('MotionBlur復原')
wnr1=deconvwnr(MF,H);
subplot(155);
imshow(wnr1)
title('MF復原')

  

有個問題就是imfilter的補充矩陣,里面的circular是按周期來補矩陣,這個復原效果比較好。

直接補0,是MotionBlur這個效果。

 參考《MATLAB圖像處理超級學習手冊》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM