clc;
clf;
clear;
close all;
%% 维纳滤波图像复原
% 1.使用函数fspecial创建退化滤波器PSF,然后调用imfilter对图像进行卷积运算,就可以
% 得到一幅运动退化图像,观察并记录结果。
I=imread('cameraman.tif'); % 读入图像
LEN=31;
THETA=11;
PSF=fspecial('motion',LEN,THETA); % 生成退化函数
blurred=imfilter(I,PSF, 'circular','conv');
figure,imshow(I);title('1.原图像');
figure,imshow(blurred);title('2.运动退化图像');
% 2.使用imnoise函数对图像添加随机噪声,观察并记录结果。
fnblurred =imnoise(blurred, 'gaussian',0,0.0001); % 产生高斯随机噪声图像
figure, imshow(fnblurred);title('3.加噪之后');
% 3.使用函数deconvwnr对无噪声的运动模糊图像进行复原,观察并记录结果。同时采用不同的
% LEN和THETA参数,进行实验,体会一下退化函数PSF的重要性,观察并记录结果。
LEN=31;
THETA=11;
PSF=fspecial('motion',LEN,THET
clf;
clear;
close all;
%% 维纳滤波图像复原
% 1.使用函数fspecial创建退化滤波器PSF,然后调用imfilter对图像进行卷积运算,就可以
% 得到一幅运动退化图像,观察并记录结果。
I=imread('cameraman.tif'); % 读入图像
LEN=31;
THETA=11;
PSF=fspecial('motion',LEN,THETA); % 生成退化函数
blurred=imfilter(I,PSF, 'circular','conv');
figure,imshow(I);title('1.原图像');
figure,imshow(blurred);title('2.运动退化图像');
% 2.使用imnoise函数对图像添加随机噪声,观察并记录结果。
fnblurred =imnoise(blurred, 'gaussian',0,0.0001); % 产生高斯随机噪声图像
figure, imshow(fnblurred);title('3.加噪之后');
% 3.使用函数deconvwnr对无噪声的运动模糊图像进行复原,观察并记录结果。同时采用不同的
% LEN和THETA参数,进行实验,体会一下退化函数PSF的重要性,观察并记录结果。
LEN=31;
THETA=11;
PSF=fspecial('motion',LEN,THET