1、图像复原方面的实验: 1、最小二乘类约束复原: 程序: I1=imread(lena.bmp); %读取原始图像 I=rgb2gray(I1); LEN=31; %图像的模糊化 THETA=11; PSF1=fspecial(motion,LEN,THETA); PSF2=fspecial(gaussian,10,5); Blurred1=imfilter(I,PSF1,circular,conv); Blurred2=imfilter(I,PSF2,conv); %模糊化图像加噪 V=.002; BlurredNoisy1=imnoise(Blurred1,gaussian,0,V); Bl
2、urredNoisy2=imnoise(Blurred2,gaussian,0,V); figure, subplot(1,3,1);imshow(I) title( lena ) %用真实的PSF函数和噪声强度作为参数进行图像复原 NP=V*prod(size(I); reg1=deconvreg(BlurredNoisy1,PSF1,NP); reg2=deconvreg(BlurredNoisy2,PSF2,NP); figure; subplot(1,3,2);imshow(reg1); title(Restored1 with NP) figure; subplot(1,3,3) ;
3、imshow(reg2); title(Restored2 with NP) 得到的结果如下: 原图: “motion”复原图像: “Gaussian”复原图像 2、维纳滤波 程序: I1=imread(lena.bmp); %读取原始图像 I=rgb2gray(I1); LEN=31; %图像的模糊化 THETA=11; PSF1=fspecial(motion,LEN,THETA); PSF2=fspecial(gaussian,10,5); Blurred1=imfilter(I,PSF1,circular,conv); Blurred2=imfilter(I,PSF2,conv); f
4、igure, imshow(I) title( lena ) %用真实的PSF函数作为参数进行图像复原 reg1=deconvwnr(Blurred1,PSF1); reg2=deconvwnr(Blurred1,PSF2); figure; imshow(reg1); title(Restored1 with NP) figure; imshow(reg2); title(Restored2 with NP) 得到的结果如下: 原图: “Motion”复原图: “guassian”复原图: 在上述程序的基础上做一些改动,如下: %用真实的PSF函数和噪声强度作为参数进行图像复原 reg1=d
5、econvwnr(Blurred1,PSF1); reg2=deconvwnr(Blurred1,fspecial(motion,2*LEN,THETA); reg3=deconvwnr(Blurred1,fspecial(motion,LEN,2*THETA); figure; imshow(reg1); title(Restored1 with NP) figure; imshow(reg2); title(Restored2 with NP) figure; imshow(reg3); 得到如下结果: 过大的模糊距离参数: 过大的模糊运动方向角度参数: 3、Lucy_Richardson
6、 滤波复原 程序: I1=imread(lena.bmp); I=rgb2gray(I1); % I=I(50+1:256,2+1:256,:); figure;imshow(I);title(Original Image); PSF=fspecial(gaussian,5,5); Blurred=imfilter(I,PSF,symmetric,conv); V=.002; BlurredNoisy=imnoise(Blurred,gaussian,0,V); figure;imshow(BlurredNoisy);title(Blurred luc1=deconvlucy(BlurredN
7、oisy,PSF,5); figure;imshow(luc1);title(Restored Image,NUMIT=5); 得到的结果图: 模糊加噪 复原图像: 4、盲解卷积复原 程序: I1=imread(lena.bmp); I=rgb2gray(I1); PSF=fspecial(motion,13,45); figure,imshow(PSF,); Blurred=imfilter(I,PSF,circ,conv); figure,imshow(Blurred); INITPSF=ones(size(PSF); J P=deconvblind(Blurred,INITPSF,30); 真实 PSF 图像: 模糊后的图像: 初步复原的图像: 初步重建使用的 PSF: 权值矩阵: 图像复原: 图像复原使用的 PSF: