資源簡介
基于Matlab的最大熵模糊圖像復(fù)原算法

代碼片段和文件信息
im=imread(‘lin.bmp‘);%讀入原始圖像
figureimshow(im);title(‘original‘);%顯示原始圖像
LEN=10;?THETA=0;?
PSF=fspecial(‘motion‘LENTHETA);?
blurred_image=imfilter(imPSF‘circular‘‘conv‘);???%卷積生成模糊圖像h1為對應(yīng)的點擴展函數(shù)
%blurred_image=imnoise(blurred_image‘gaussian‘00.001);??%加上均值為0方差為0.001的高斯噪聲
figureimshow(blurred_image);title(‘motion???blurred???image‘);??%顯示運動模糊化圖像
%-----------------------------------------
blurred_image=im2double(blurred_image);
mask=ones(size(blurred_image));%掩模圖像支持
n=100;?????????%迭代次數(shù)有些講究
lambda=zeros(size(blurred_image));%lambda參數(shù)初始化為0,此時熵最大,但不滿足約束方程
blurred_image=blurred_image+mean2(blurred_image)/1000;%保證大于0
totd=sum(sum(blurred_image));
for?i=1:n
????deblurred=exp(conv2(lambdaPSF‘same‘));%卷積和指數(shù)運算
????deblurred=deblurred/sum(sum(deblurred));%歸一化
????reblurred=conv2(deblurredPSF‘same‘);%重模糊化圖像
????scale=sum(sum(reblurred.*mask))/totd;%動態(tài)歸一化因子
????%修正lambda的值
????if?i<50
????????lambda=lambda+(blurred_image*scale-reblurred).*mask;%前面50次迭代選擇(g-h*reblured)作為修正項
????else
????????reblurred=0.00001*(reblurred==0)+reblurred;
????????lambda=lambda+log(blurred_image*scale./reblurred).*mask;%后面選擇ln(g)-ln(h*reblured)作為修正項
????end
end
deblurred_image=deblurred/scale-mean2(blurred_image)/1000;%減去前面的增量
figureimshow(deblurred_image[]);title(‘max?extropy?deblurred?image‘);%顯示去模糊化后的恢復(fù)圖像
%{
y2=deconvwnr(y1h);??%采用維納濾波方法進(jìn)行圖像恢復(fù)
figureimshow(y2);title(‘wiener‘);??%顯示維納濾波恢復(fù)的效果
INITPSF=ones(size(h));
y3=deconvblind(y1INITPSF20);??%采用盲恢復(fù)法進(jìn)行圖像恢復(fù)
figureimshow(y3);title(‘blind‘);??%顯示盲恢復(fù)效果
%}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄??????????0??2012-10-26?11:04??最大熵復(fù)原
?????目錄??????????0??2012-10-26?11:04??最大熵復(fù)原\maximumentropy
?????文件???????6966??2008-12-24?14:07??最大熵復(fù)原\maximumentropy\Blurred.jpg
?????文件???????1853??2008-12-24?13:37??最大熵復(fù)原\maximumentropy\maxentropy.m
?????文件??????11390??2008-05-08?15:08??最大熵復(fù)原\maximumentropy\origin.jpg
?????文件???????9679??2008-12-24?14:06??最大熵復(fù)原\maximumentropy\restored.jpg
?????文件????????748??2008-12-24?14:08??最大熵復(fù)原\maximumentropy\testentropy.m
?????文件?????????22??2008-12-24?14:08??最大熵復(fù)原\maximumentropy\說明.txt
?????文件???????1769??2010-06-24?18:05??最大熵復(fù)原\My_maxentropy.m
-----------?---------??----------?-----??----
????????????????32427????????????????????9
評論
共有 條評論