Matlab：盲反卷积还原失焦图像

+关注继续查看

实现代码

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%       盲反卷积还原失焦图像             %

%                                       %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

I=rgb2gray(I)

PSF=fspecial('gaussian',7,30);

Blurred=imfilter(I,PSF,'symmetric','conv');

figure;imshow(Blurred);title('失焦图像');

UNDERPSF = ones(size(PSF)-4);

[J1 P1] = deconvblind(Blurred,UNDERPSF);

figure;imshow(J1);title('Deblurring with Undersized PSF');

[J2 P2] = deconvblind(Blurred,OVERPSF);

figure;imshow(J2);title('Deblurring with Oversized PSF');

[J3 P3] = deconvblind(Blurred,INITPSF);

figure;imshow(J3);title('Deblurring with INITPSF');

figure;

subplot(221);imshow(P1,[],'InitialMagnification','fit');

title('重建 Undersized PSF');

subplot(222);imshow(P2,[],'InitialMagnification','fit');

title('重建 Oversized PSF');

subplot(223);imshow(P3,[],'InitialMagnification','fit');

title('重建  init PSF');

WEIGHT = edge(I,'sobel',.3);

se = strel('disk',2);

WEIGHT = 1-double(imdilate(WEIGHT,se));

WEIGHT([1:3 end-[0:2]],:) = 0;

WEIGHT(:,[1:3 end-[0:2]]) = 0;

figure;imshow(WEIGHT);title('Weight array');

[J P] =                                  deconvblind(Blurred,INITPSF,30,[],WEIGHT);

figure;imshow(J);title('复原图像');

P1 = 2;

P2 = 2;

[JF PF] = deconvblind(Blurred,OVERPSF,30,[],WEIGHT,FUN);

figure;imshow(JF);title('复原图像');

displayEndOfDemoMessage(mfilename)

2171 0

3956 0

7580 0

9307 0
windows server 2008阿里云ECS服务器安全设置

4963 0

5676 0

2003 0

3807 0

16274 0
+关注

1701

0

《SaaS模式云原生数据仓库应用场景实践》

《看见新力量：二》电子书