MATLAB图像复原三

I = checkerboard(8); %产生一个88的跳棋盘图像
PSF = fspecial(‘gaussian’,7,10); %产生一个高斯低通滤波器
V = .0001; %高斯加性噪声的标准差
IF1= imfilter(I,PSF); %原图像通过高斯低通滤波器
BlurredNoisy = imnoise(IF1,‘gaussian’,0,V);% 加入高斯噪声
WT = zeros(size(I)); %产生权重矩阵
WT(5:end-4,5:end-4) = 1;
INITPSF = ones(size(PSF)); %初始化最初的点扩散函数
[J P] = deconvblind(BlurredNoisy,INITPSF,20,10
sqrt(V),WT);
figure, %依次显示模糊图像,真实的PSF,反卷积得到的图像和恢复的PSF
subplot(221);imshow(BlurredNoisy); title(‘A = Blurred and Noisy’);
subplot(222);imshow(PSF,[]); title(‘True PSF’);
subplot(223);imshow(J); title(‘Deblurred Image’);
subplot(224);imshow(P,[]); title(‘Recovered PSF’);
在这里插入图片描述
PSF = fspecial(‘gaussian’,13,1);
OTF = psf2otf(PSF,[31 31]); %点扩散函数转化为光学转换函数
PSF2 = otf2psf(OTF,size(PSF)); %光学转换函数转化为点扩散函数
subplot(1,2,1); surf(abs(OTF)); %显示光学转换函数
title(’|OTF|’); axis square; axis tight
subplot(1,2,2); surf(PSF2); %显示点扩散函数
title(‘Corresponding PSF’); axis square; axis tight
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值