還是照着書上推了一遍,
反正寫一遍之后很好理解,
也許是只是這點算法比較簡單基礎。。。
講到底還是統計的知識,二維的最小二乘法,
讓均方差最小

放代碼:
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圖像處理超級學習手冊》
