数字图像处理频域增强

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字图像处理图像频域增强方法的研究

姓名:

班级:

学号:

目录一.频域增强的原理

二.频域增强的定义及步骤三.高通滤波

四.MATLAB程序实现

五.程序代码

六.小结

一.频域图像的原理

在进行图像处理的过程中,获取原始图像后,首先需要对图像进行预处理,因为在获取图像的过程中,往往会发生图像失真,使所得图像与原图像有某种程度上的差别。在许多情况下,人们难以确切了解引起图像降质的具体物理过程及其数学模型,但却能估计出使图像降质的一些可能原因,针对这些原因采取简单易行的方法,改善图像质量。图像增强一般不能增加原图像信息,只能针对一些成像条件,把弱信号突出出来,使一些信息更容易分辨。图像增强的方法分为频域法和空域法,空域法主要是对图像中的各像素点进行操作;而频域法是在图像的某个变换域内,修改变换后的系数,例如傅立叶变换、DCT 变换等的系数,对

图像进行操作,然后再进行反变换得到处理后的图像。

MATLAB矩阵实验室(Matrix Laboratory)的简称,具有方便的数据可视化功能,可用于科学计算和工程绘图。它不仅在一般数据可视化软件都具有的功能方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。它具有功能丰富的工具箱,不但能够进行信号处理、语音处理、数值运算,而且能够完成各种图像处理功能。本文利用MATLAB工具来研究图像频域增强技术。图像增强是为了获得更好质量的图像,通过各种方法对图像进行处理,例如图像边缘检测、分割以及特征提取等技术。图像增强的方法有频域处理法与空域处理法,本文主要研究了频域处理方法中的滤波技术。从低通滤波、高通滤波、同态滤波三个方面比较了图像增强的效果。文章首先分析了它们的原理,然后通过MATLAB 软件分别用这三种方法对图像进行处理,处理后使图像的对比度得到了明显的改善,增强了图像的视觉效果。

二.频域增强定义和步骤

图像增强技术基本上可分成两大类:频域处理法和空域处理法。频域处理法[1]的基础是卷积定理,它采用修改图像傅立叶变换的方法实现对图像的增强处理。在频域空间,图像的信息表现为不同频率分量的组合。如果能让某个范围内的分量或某些频率的分量受到抑制而让其他分量不受影响,就可以改变输出图的频率分布,达到不同的增强目的。

频域增强是利用图像变换方法将原来的图像空间中的图像以某种形式转换到其它空间中,然后利用该空间的特有性质方便地进行图像处理,最后再转换回原来的图像空间中,从而得到处理后的图像。

频域增强的主要步骤是:

(1) 选择变换方法,将输入图像变换到频域空间;

(2) 在频域空间中,根据处理目的设计一个转移函数并进行处理;

(3) 将所得结果用反变换得到图像增强。

卷积理论是频域技术的基础。设函数f(x,y)与线性位不变算子h(x,y)的卷积结果是g(x,y),即g(x,y)=h(x,y)*f(x,y)

那么根据卷积定理在频域有:

G(x,y)=H(u,v)F(u,v)

其中G(x,y)、H(u,v)、F(u,v)分别是g(x,y)、h(x,y)、f(x,y)的傅立叶变换。

(4)技术所需增强图的傅立叶变换。

(5)将其与一个(根据需要设计的)转移函数相乘。

(6)再将结果进行傅立叶反变换以得到增强的图。

(7)将图像从空域转换到频域所需的变换及将图像从频域空间转换回空域

所需的变换。

(8)在频域空间对图像进行增强加工操作。

常用的频域增强方法有低通滤波和高通滤波。以下分别介绍在MATLAB中如何实现。

三.高通滤波

图像中的细节部分与其频率的高频分量相对应,所以高通滤波可以对图像进行锐化处理。高通滤波器与低通滤波器的作用相反,它使高频分量顺利通过,而消弱低频。

图像的边缘、细节主要位于高频部分,而图像的模糊是由于高频成分比较弱产生的。采用高通滤波器可以对图像进行锐化处理,是为了消除模糊,突出边缘。因此采用高通滤波器让高频成分通过,使低频成分削弱,再经逆傅立叶变换得到边缘锐化的图像。常用的高通滤波器有:

(1) 理想高通滤波器(2) 巴特沃斯高通滤波器(3) 指数滤波器

(4) 梯形滤波器

这里我们采用理想高通滤波器。二维理想高通滤波器的传递函数为:

四.MATLAB程序实现

五.程序代码

I1=imread('D:\miley.jpg');

I=rgb2gray(I1);

subplot(2,3,1),imshow(I); title('原图像');

s=fftshift(fft2(I));

subplot(2,3,2),imshow(abs(s),[]);title('图像傅里叶变换所的频谱'); subplot(2,3,3),imshow(log(abs(s)),[]); title('图像傅里叶变换对数所得频'); [a,b]=size(s);

a0=round(a/2);

b0=round(b/2);

d=10;

p=0.2;q=0.5;

for i=1:a

for j=1:b

distance=sqrt((i-a0)^2+(j-b0)^2);

if distance<=d h=0

else h=1;

end;

s(i,j)=(p+q*h)*s(i,j);

end;

end;

s=uint8(real(ifft2(ifftshift(s))));

subplot(2,3,4),imshow(s);title('高通滤波所得图像');

相关文档
最新文档