📄 代码19-3.txt
字号:
I = imread('peppers.png'); % 读入图像
I = I(10+[1:256],222+[1:256],:); % 图像剪切
figure, imshow(I); % 显示原始图像
title('Original Image'); % 设置图像标题
LEN = 31; % 设置长度
THETA = 11; % 设置角度
PSF = fspecial('motion',LEN,THETA); % 生成滤波器
blurred = imfilter(I,PSF,'circular','conv'); % 图像卷积计算
figure, % 新建窗口
imshow(blurred); % 显示处理后的图像
title('Blurred'); % 设置图像标题
wnr1 = deconvwnr(blurred,PSF); % 使用真实PSF进行图像复原
figure, % 新建窗口
imshow(wnr1); % 显示处理后的图像
title('Restored, True PSF'); % 设置图像标题
wnr2 = deconvwnr(blurred,fspecial('motion',2*LEN,THETA));
% 模糊运动长度取值是真实长度的2倍,2*LEN
figure, % 新建窗口
imshow(wnr2); % 显示处理后的图像
title('Restored, "Long" PSF'); % 设置图像标题
wnr3 = deconvwnr(blurred,fspecial('motion',LEN,2*THETA));
% 模糊运动角度取值是真实角度的2倍,2*THETA
figure, % 新建窗口
imshow(wnr3); % 显示处理后的图像
title('Restored, Steep'); % 设置图像标题
noise = 0.1*randn(size(I)); % 生成噪声信号
blurredNoisy = imadd(blurred,im2uint8(noise)); % 加入图像
figure, % 新建窗口
imshow(blurredNoisy); % 显示处理后的图像
title('Blurred & Noisy'); % 设置图像标题
wnr4 = deconvwnr(blurredNoisy,PSF); % 图像恢复
figure, % 新建窗口
imshow(wnr4); % 显示处理后的图像
title('Inverse Filtering of Noisy Data'); % 设置图像标题
NSR = sum(noise(:).^2)/sum(im2double(I(:)).^2); % 计算信噪比
wnr5 = deconvwnr(blurredNoisy,PSF,NSR); % 图像恢复
figure, % 新建窗口
imshow(wnr5); % 显示处理后的图像
title('Restored with NSR'); % 设置图像标题
wnr6 = deconvwnr(blurredNoisy,PSF,NSR/2); % 信噪比降低一半,NSR/2
figure, % 新建窗口
imshow(wnr6); % 显示处理后的图像
title('Restored with NSR/2'); % 设置图像标题
NP = abs(fftn(noise)).^2; % 傅立叶变换
NPOW = sum(NP(:))/prod(size(noise)); % 噪声功率
NCORR = fftshift(real(ifftn(NP))); % 噪声自相关函数,居中的
IP = abs(fftn(im2double(I))).^2; % 傅立叶变换
IPOW = sum(IP(:))/prod(size(I)); % 原始图像功率
ICORR = fftshift(real(ifftn(IP))); % 图像自相关函数,居中的
wnr7 = deconvwnr(blurredNoisy,PSF,NCORR,ICORR); % 图像恢复
figure, % 新建窗口
imshow(wnr7); % 显示处理后的图像
title('Restored with ACF'); % 设置图像标题
ICORR1 = ICORR(:,ceil(size(I,1)/2)); % 一维自相关函数
wnr8 = deconvwnr(blurredNoisy,PSF,NPOW,ICORR1); % 图像恢复
figure, % 新建窗口
imshow(wnr8); % 显示处理后的图像
title('Restored with NP & 1D-ACF'); % 设置图像标题
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -