MATLAB图像复原和MindMaster-----筹办展览会

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
I = imread(‘peppers.png’); %读取一幅图像’peppers.png’
I = I(60+[1:256],222+[1:256]😅;%选取图像的范围
figure; subplot(121);imshow(I); title(‘原始图像’);
LEN = 31; %运动模糊函数的长度为31,角度为11°
THETA = 11;
PSF = fspecial(‘motion’,LEN,THETA); %产生运动模糊函数
Blurred = imfilter(I,PSF,‘circular’,‘conv’); %对二维图像进行滤波
subplot(122);imshow(Blurred); %显示模糊后的图像
title(‘模糊后的图像’);
在这里插入图片描述
I = checkerboard(8);%原图像
noise = 0.1*randn(size(I));%噪声
PSF = fspecial(‘motion’,21,11);%运动模糊的滤波器
Blurred = imfilter(I,PSF,‘circular’);%产生运动模糊的图像
BlurredNoisy = im2uint8(Blurred + noise);%运动模糊的图像加上噪声
NSR = sum(noise(😃.2)/sum(I(😃.2);%噪声信号功率比
NP = abs(fftn(noise)).^2;
NPOW = sum(NP(😃)/prod(size(noise));%噪声功率谱
NCORR = fftshift(real(ifftn(NP))); %噪声自相关函数
IP = abs(fftn(I)).^2;%
IPOW = sum(IP(😃)/prod(size(I));%原图像功率谱
ICORR = fftshift(real(ifftn(IP)));%原图像相关函数
ICORR1 = ICORR(:,ceil(size(I,1)/2));
NSR = NPOW/IPOW;%噪声信号功率比
J1=deconvwnr(BlurredNoisy,PSF);%依次改变各个参数进行维纳滤波
J2=deconvwnr(BlurredNoisy,PSF,NSR);
J3=deconvwnr(BlurredNoisy,PSF,NCORR,ICORR);
J4=deconvwnr(BlurredNoisy,PSF,NPOW,ICORR1);
figure;%显示原图像,退化的图像和维纳滤波后的图像
subplot(321), imshow(I); title(‘original image’);
subplot(322); imshow(BlurredNoisy,[]);
title(‘A = Blurred and Noisy’);
subplot(323), imshow(J1,[]); title(‘deconvwnr(BlurredNoisy,PSF)’);
subplot(324);imshow(J2,[]); title(‘deconvwnr(A,PSF,NSR)’);
subplot(325);imshow(J3,[]); title(‘deconvwnr(A,PSF,NCORR,ICORR)’);
subplot(326);imshow(J4,[]); title(‘deconvwnr(A,PSF,NPOW,ICORR_1_D)’);
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值