资源简介

基于Matlab的最大熵模糊图像复原算法

资源截图

代码片段和文件信息

im=imread(‘lin.bmp‘);%读入原始图像
figureimshow(im);title(‘original‘);%显示原始图像

LEN=10; THETA=0; 
PSF=fspecial(‘motion‘LENTHETA); 
blurred_image=imfilter(imPSF‘circular‘‘conv‘);   %卷积生成模糊图像h1为对应的点扩展函数
%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;         %迭代次数有些讲究
lambda=zeros(size(blurred_image));%lambda参数初始化为0,此时熵最大,但不满足约束方程
blurred_image=blurred_image+mean2(blurred_image)/1000;%保证大于0
totd=sum(sum(blurred_image));

for i=1:n
    deblurred=exp(conv2(lambdaPSF‘same‘));%卷积和指数运算
    deblurred=deblurred/sum(sum(deblurred));%归一化
    reblurred=conv2(deblurredPSF‘same‘);%重模糊化图像
    scale=sum(sum(reblurred.*mask))/totd;%动态归一化因子
    %修正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‘);%显示去模糊化后的恢复图像






%{
y2=deconvwnr(y1h);  %采用维纳滤波方法进行图像恢复
figureimshow(y2);title(‘wiener‘);  %显示维纳滤波恢复的效果
INITPSF=ones(size(h));
y3=deconvblind(y1INITPSF20);  %采用盲恢复法进行图像恢复
figureimshow(y3);title(‘blind‘);  %显示盲恢复效果
%}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     目录          0  2012-10-26 11:04  最大熵复原

     目录          0  2012-10-26 11:04  最大熵复原\maximumentropy

     文件       6966  2008-12-24 14:07  最大熵复原\maximumentropy\Blurred.jpg

     文件       1853  2008-12-24 13:37  最大熵复原\maximumentropy\maxentropy.m

     文件      11390  2008-05-08 15:08  最大熵复原\maximumentropy\origin.jpg

     文件       9679  2008-12-24 14:06  最大熵复原\maximumentropy\restored.jpg

     文件        748  2008-12-24 14:08  最大熵复原\maximumentropy\testentropy.m

     文件         22  2008-12-24 14:08  最大熵复原\maximumentropy\说明.txt

     文件       1769  2010-06-24 18:05  最大熵复原\My_maxentropy.m

----------- ---------  ---------- -----  ----

                32427                    9


评论

共有 条评论