www.gusucode.com > 最大熵直接迭代法,维纳滤波和盲恢复对水平方向匀速直线运动造成的模糊图像的恢复研究 > max_extropy_main/max_entropy_main.m

    %最大熵直接迭代法 维纳滤波 盲恢复 对水平方向匀速直线运动造成的模糊图像的恢复研究
h=[1/10,1/10,1/10,1/10,1/10,1/10,1/10 0.1,1/10,1/10];%根据匀速直线运动模糊模型推导出来:水平方向移动距离为10
y=imread('tire.tif');%读入原始图像
figure,imshow(y);title('original');%显示原始图像
LEN=10;   %运动长度   
THETA=0;   %运动角度   
h1=fspecial('motion',LEN,THETA);   %模糊滤波   
y1=imfilter(y,h1,'circular','conv');   %卷积生成模糊图像,h1为对应的点扩展函数, 
y1=imnoise(y1,'gaussian',0,0.001);  %加上均值为0,方差为0.001的高斯噪声
figure,imshow(y1);title('motion   blurred   image');  %显示运动模糊化图像
x=max_entropy(y1,h);  %调用最大熵直接迭代算法程序进行图像恢复
y2=deconvwnr(y1,h);  %采用维纳滤波方法进行图像恢复
figure,imshow(y2);title('wiener');  %显示维纳滤波恢复的效果
INITPSF=ones(size(h));
y3=deconvblind(y1,INITPSF,20);  %采用盲恢复法进行图像恢复
figure,imshow(y3);title('blind');  %显示盲恢复效果