文章目录
1 概述
我们日常传输的任意信号都可分为正弦波的加权和,根据这一特性,为了方便对图像进行处理,
一般将图像从空域变换到其他域,然后再对变换后的信息进行相应的处理。又因为空域中的卷
积在频域中则是相乘,因此,很多我们在空域中我们无法实现的操作就可以借助频域来完成。
2 正交变换
对于矩阵T,若其逆矩阵等于其复共轭的转置,则称该线性变换为酉变换。在此基础上,若T
中的数据均为实数,则称酉变换为正交变换,T的每一行称为该正交变换的正交基。
正交变换主要有正弦/余弦型变换,方波型变换,基于特征向量的变换三种。
3 傅里叶变换
但因为傅里叶变换处理的是连续模拟信号,而且它在数学上采取的是无穷大的概念,但计
算机处理的是数字信号,而且只能进行有限次运算,因此提出了离散傅里叶变换的概念。
离散傅里叶变换是最经典的一种正弦/弦型正交变换。它建立了空间域与频域间的联系,
能够帮助我们更直观、方便的解决许多图像问题。
执行傅里叶变换的要求:1)具有有限个间断点 2)具有有限个极值点 3)绝对可积
同时,对于进行傅里叶变换的图像,变换前后图像的能量是相等的。
下面,我们来进行一些简单的实验,方便大家更好的了解傅里叶变换。
A = imread('coins.png');
figure;
subplot(1,2,1); imshow(A);
title('原图');
A =im2double(A);
F=fft2(A); %傅里叶变换
Fs=fftshift(F); %将频谱图中零频率成分移动至频谱图中心
s=log(abs(Fs)+1);
subplot(1,2,2);imshow(s,[]);
title('傅里叶变换后的频谱图');
从上图可以看出,对于一个图像,它经过傅里叶变换后,图像的内容我们时无法了解的。并且为了方便我们之后对图像进行处理,我们一般将图像的低频成分移到图像傅里叶谱的中心区域,高频成分则放在外围。
平移不变性
很容易可以看出,虽然图像进行了平移,但它们的傅里叶谱是相同的,并没有发生变化。
因此我们可以推断傅里叶变换具有平移不变性。
旋转性
从上面的实验结果我们可以发现,当图形发生旋转时,它的傅里叶谱也会随之发生旋转。
并且如果图像只是做了简单的旋转,没有做其他变化时,那么它的傅里叶谱也不会发生变化
放大缩小
从实验结果可以发现,当我们的图像灰度值为零的部分减小时,它的傅里叶谱低频部分会缩小。
应用
经过傅里叶变换后的图像位于中间的部分为原图像低频部分,反应图像的概貌,越接近边缘
的部分频率越高,反映是图像的细节。基于这一特性, 在傅里叶变换中,为了显示图像总
体灰度级,可以采用低通滤波器对图像进行滤波,想要凸显出图像的细节,就可以采用高通
滤波器对其进行滤波
4 低通滤波
低通滤波器是让低于截止频率的信号顺利通过系统,而将高于截止频率的信号过滤掉的电子滤波装置。
4.1 理想低通滤波器
对于理想低通滤波器,它是在半径为D的圆内,所有频率都可以没有衰减地通过滤波器,而在圆外,所有的频率都会被完全过滤掉。
A=imread('coins.png');
figure;
subplot(1,3,1)
imshow(A);
s=fftshift(fft2(A));
[M,N]=size(s);
H = zeros(M,N);
n1=floor(M/2); %对M/2进行取整
n2=floor(N/2);
d0=5;
for i=1:M
for j=1:N
d=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到Fourier变换中心的距离
h = double(d<=d0); %ILPF滤波函数
s(i,j)=h*s(i,j); %ILPF滤波后的频域表示
H(i,j) = h; % ILPF滤波器
end
end
s=ifftshift(s);
subplot(1,3,2);
s=uint8(real(ifft2(s)));
imshow(s);
subplot(1,3,3);
mesh(H);
经过理想低通滤波器后,图像变得非常模糊,图像中物体的边缘部分无法观察。同时,我们可以发现,理想低通滤波器只保留下了中心部分,也就是原图像的低频部分,高频部分则可以完全过滤掉,具有非常好的滤波特性
对于高斯低通滤波器和巴特沃斯低通滤波器,他们的滤波原则其实与理想低通滤波器是一样的,只不过滤波器的传递函数不同。
4.2 巴特沃斯低通滤波器
从巴特沃斯滤波器的特性曲线我们可以发现,当滤波器的阶数增加时,滤波器的滤波效果越来越好,几乎可以与理想滤波器相媲美。
4.3 高斯低通滤波器
高斯滤波器的滤波效果随着样值点到傅里叶变换中心的距离的变化而变化,当距离增大时,滤波效果变好。而且可以看出,虽然巴特沃斯滤波器与高斯滤波器的传输函数不同,但它们的滤波效果时非常相似的。
那么分别采用三种滤波器对图像进行滤波
A=imread('coins.png');
figure;
subplot(2,2,1)
title('原图');
imshow(A);
s=fftshift(fft2(A));
[M,N]=size(s);
H = zeros(M,N);
n1=floor(M/2);
n2=floor(N/2);
n=2;
d0=5;
for i=1:M
for j=1:N
d=sqrt((i-n1)^2+(j-n2)^2);
h1 = double(d<=d0);%理想低通滤波器
h2 = 1/(1+(d/d0)^(2*n));%巴特沃斯滤波器
h3 = exp(-1/2*(d^2/d0^2));%高斯滤波器
s1(i,j)=h1*s(i,j);
s2(i,j)=h2*s(i,j);
s3(i,j)=h3*s(i,j);
end
end
s1=ifftshift(s1);
s2=ifftshift(s2);
s3=ifftshift(s3);
s1=uint8(real(ifft2(s1)));
s2=uint8(real(ifft2(s2)));
s3=uint8(real(ifft2(s3)));
subplot(2,2,2);imshow(s1);
subplot(2,2,3);imshow(s2);
subplot(2,2,4);imshow(s3);
从上图我们可以看出,通过理想低通滤波器的图像的边缘最模糊,保留下的高频成分最少,滤波特性最好,相比来说,高斯低通滤波器和巴特沃斯滤波器的滤波结果就没有那么好,经过它们的图像,边缘仍是较为明显的。
5 高通滤波器
高通滤波器的滤波特性恰好与低通滤波器相反。它是一种让高频率成分的信号通过系统,而将低频率成分的信号过滤掉的电子滤波装置。
5.1 理想高通滤波器
对于理想高通滤波器,与理想低通相反,它是在半径为D的圆外,所有频率都可以没有衰减地通过滤波器,而在圆内,所有的频率都会被完全过滤掉。
将理想低通滤波器实验中的 h = double(d<=d0); 改为 h = double(d>=d0); 即可对理想高通滤波器的特性进行观察。
经过理想高通滤波器后,图像的边缘变得非常的清晰,但图像的颜色等我们就无法观察到了。另外,与理想低通相反,滤波器滤去了中心部分,也就是原图像的低频部分,高频部分则可以完全保留。
5.2 巴特沃斯滤波器
5.3 高斯滤波器
对于巴特沃斯高通滤波器及高斯高通滤波器,其实在了解了它们的低通滤波器的传输函数后,就能够很容易的理解了。
那么同样对三种滤波器的滤波效果进行检测
三种滤波器的滤波效果似乎没有太大差别,但我们仔细观察一下,其实还是能比较容易发现经过巴特沃斯滤波及高斯滤波后的图像,一些小的图案很完整的保留了下来,而经过理想高通滤波的图像,则滤去了一部分,具有更好的滤波效果。
6 总结
在本章中,我们学习了将图像转换到频率域中的方法,主要深入了解了一下傅里叶变换,并且学习了一些在频率域中对图像进行滤波的方式,如巴特沃斯滤波,高斯滤波,以及理想滤波,对三种滤波方式进行了实验,对他们的滤波效果进行了对比。
频率域滤波是进行数字图像处理的非常重要的一种方式,对我们未来的学习也有很大的帮助。