实验四 图像频域增强和图像恢复
一、实验意义及目的
(1)进一步掌握图像处理工具Matlab,熟悉基于Matlab的图像处理函数。
(2)掌握各种基于正交变换的图像频域增强方法。
(3)掌握图像恢复的基本方法。
二、实验内容
在前面的基础上如下功能:
1.对一副噪声图像, 进行理想低通滤波、巴特沃斯低通滤波、理想高通滤波、巴特沃斯高通滤波、高通增强
实验对比:叠加不同的噪声(高斯、椒盐)、采用不同的截断频率, 对处理结果进行对比
– 2. 利用fspcial函数,对一副图像模拟不同的退化效果:运动模糊、高斯模糊、均值模糊
– 3. 对模糊图像进行维纳滤波复原
实验对比:对叠加噪声、不叠加噪声的模糊图像分别进行滤波结果对比;
三、算法原理
- 图像滤波:对输入的图像进行处理,去除噪声、平滑细节等。其中理想低通滤波、巴特沃斯低通滤波、理想高通滤波、巴特沃斯高通滤波、高通增强是不同的滤波器类型。低通滤波器可以提取图像中的低频信息,例如图像的整体亮度变化;而高通滤波器则可以突出图像中的边缘和纹理等高频细节信息。
- 图像模拟退化:用fspcial函数来模拟退化效果,其中运动模糊、高斯模糊、均值模糊是不同的模糊核类型。运动模糊是由于相机或者物体运动造成的图像模糊,常见于拍摄运动物体或手持拍摄时相机晃动;高斯模糊则是由于图像受到高斯噪声污染引起的模糊;均值模糊是一种简单的线性模糊方法,将每个像素的值替换为周围像素的平均值。
- 维纳滤波复原:维纳滤波是一种基于最小均方误差(MSE)准则的复原方法,可以用来恢复受到退化和噪声干扰的图像。它通过在频域中对图像进行加权平均,降低噪声和退化引起的影响,同时保留图像中的细节信息。
四、程序流程
对一副噪声图像进行不同滤波器处理的程序流程:
- 读入一副噪声图像。
- 对图像进行理想低通滤波,巴特沃斯低通滤波,理想高通滤波,巴特沃斯高通滤波和高通增强,并记录每种方法处理后的图像。
- 对每种处理后的图像,叠加高斯噪声和椒盐噪声,分别记录处理后的结果。
- 改变截断频率,重新进行上述处理,记录每种方法不同截断频率下的结果。
- 对比每种滤波器在不同参数下的处理效果。
利用fspcial函数模拟不同退化效果和维纳滤波复原的程序流程:
- 读入一副图像并显示原始图像。
- 利用fspcial函数,对图像进行运动模糊、高斯模糊、均值模糊处理,并记录每种方法处理后的图像。
- 对每种处理后的图像,叠加高斯噪声和椒盐噪声,分别记录处理后的结果。
- 对每种模糊处理方法对应的带噪声图像,采用维纳滤波复原方法进行处理,并记录处理后的结果。
- 对比每种模糊方法和带噪声情况下的滤波复原效果。
五、算法各部分主要代码以及注释(运行结果)
1. 1
f=imread('rice.png');
f=double(f);
I1=imnoise(f,'gaussian',0.1,0.1); %对图像添加高斯噪声污染
I4=imnoise(f,'salt & pepper'); %对图像添加椒盐噪声污染
F=fftshift(fft2(f));%对图像进行傅立叶变换并将频域中心偏移到中点
d0=20; %截止频率
[m,n]=size(f); %理想低通滤波
h=0;
for u=1:m
for v=1:n
if sqrt((u-m/2)*(u-m/2)+(v-n/2)*(v-n/2))<=d0
h=1;
else