基于MATLAB的数字图像课程设计图像频域增强高通滤波器算法设计.docx
- 文档编号:16219117
- 上传时间:2023-07-11
- 格式:DOCX
- 页数:21
- 大小:219.78KB
基于MATLAB的数字图像课程设计图像频域增强高通滤波器算法设计.docx
《基于MATLAB的数字图像课程设计图像频域增强高通滤波器算法设计.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的数字图像课程设计图像频域增强高通滤波器算法设计.docx(21页珍藏版)》请在冰点文库上搜索。
基于MATLAB的数字图像课程设计图像频域增强高通滤波器算法设计
基于MATLAB的数字图像课程设计-图像频域增强高通滤波器算法设计
图像频域增强算法设计——高通滤波
1设计任务及目的
1.1设计任务
利用所学的数字图像处理技术,建立实现某一个主题处理的系统,利用MATLAB软件系统来实现图像的频域滤波技术,要求:
(1)学习和熟悉MATLAB软件的使用方法;
(2)熟悉和掌握MATLAB程序设计过程;
(3)利用所学数字图像处理技术知识和MATLAB软件对图像进行高通滤波处理;
(4)能对图.jpg、.bmp、.png格式进行打开、保存、另存、退出等一系列功能操作;
(5)在程序开发时,必须清楚主要实现函数目的和作用,需要在程序书写时做适当注释说明,理解每一句函数的具体意义和使用范围;
(6)比较几种高通滤波器对图像数字化处理效果的异同。
1.2设计目的
本次课程设计的目的在于提高发现问题、分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。
熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。
综合运用MATLAB软件实现图像高通滤波程序设计。
(1)熟悉MATLAB软件环境,学习如何利用MATLAB软件来实现对图像的各种数字化处理;
(2)掌握常用频域高通滤波器的设计,进一步加深理解和掌握图像频谱的特点和频域高通滤波的原理。
(3)理解图像高通滤波的处理过程和特点,以及通过设计不同的滤波器来实现对图像的不同滤波效果;
(4)通过高通滤波技术来消除图像的模糊,突出图像的边缘,使低频分量得到抑制,增强高频分量,使图像的边沿或线条变得清晰,实现图像的锐化。
2课程设计相关知识
2.1数字图像处理简介
数字图像处理,通俗地讲是指应用计算机以及数字设备对图像进行加工处理的技术。
2.1.1数字图像发展概述
20世纪20年代,图像处理技术首次应用于改善伦敦到纽约之间的海底电缆传送图片的质量。
1964年,美国喷气推动实验室用计算机成功地对4000多张月球照片进行处理。
70年代中期,随着离散数学理论的创立和完善,数字图像处理技术得到了迅猛的发展,理论和方法不断完善。
90年代,随着个人计算机进入家庭,硬件价格不断下降,数字世界逐渐进入人们的生活。
2.1.2数字图像处理内容
图像处理的内容包括:
图像变换,图像增强,图像编码与压缩,图像复原,图像重建,图像识别以及图像理解。
(1)图像数字化
图像数字化即图像采样和量化,是指把连续的图像信号变为离散的数字信号,以适应计算机的处理。
(2)图像编码压缩
把数字化的图像数据按一定规则进行排列或运算过程,称为图像编码。
利用图像本身的内在特性,通过某种特殊的编码方式,达到减少原图像数据时空占用量的处理叫做图像压缩编码。
(3)图像变换
一般指利用正交变换的性质和特点,将图像转换到变换域中进行处理,并且大部分变换都有快速算法。
(4)图像增强
图像增强的目的是突出图像中所感兴趣的部分,如强化图像的高频分量,可使图像中物体轮廓清晰,细节明显。
(5)图像复原
图像复原是尽可能恢复图像的本来面貌,是对图像整体而言,而且在复原处理时,往往必须追求降质原因,以便“对症下药”,而增强往往是局部。
(6)图像分割
将图像中包含的物体,按其灰度或几何特性分割,并进行处理分析,从中提取有效分量、数据等有用信息。
这是进一步进行图像处理如模式识别、机器视觉等技术的基础。
(7)图像分类
简单地说就是在图像分割的基础上,进行我体的判决分类。
(8)图像重建
它是对一些三维物体,应用x射线、超声波等物理方法,取得物体内部结构数据,再将这些数据进行运算处理而构成物体内部某些部位的图像。
目前图像重建最成功的例子是CT技术(计算机断层扫描成像技术)、彩色超声波等。
2.1.3数字图像处理技术
图像处理技术包括:
空域处理方法和变换域处理方法。
(1)图像信息的获取
为了在计算机上进行图像处理,必须把作为处理对象的模拟图像转换成数字图像信息。
图像信息的获取,一般包括图像的摄取、转换及数字化等几个步骤。
该部分主要由处理系统硬件实现。
(2)图像信息的存储于交换
由于数字图像信息量大,且在处理过程中必须对数据进行存储和交换,为了解决大数据量及交换与传输时间的矛盾,通常除采用大容量机内存存储器进行并行传送,直接存储访问外,还必须采用外部磁盘、光盘及磁带存储方式,从而达到提高处理的目的。
该部分组要功能也由硬件完成。
(3)数字图像处理
数字图像处理,即把在空间上离散的,在幅度上量化分层的数字图像,在经过一些特定数理模式的加工处理,以达到有利于人眼视觉或某种接收系统所需要的图像过程。
(4)数字图像通讯
80年代以来,由于计算机技术和超大规模集成电路技术的巨大发展,推动了通讯技术(包括语言、数据、图像)的飞速发展。
因为图像通讯具有形象直观、可靠、高效率等一系列优点,尤其是数字图像通讯比模拟图像通讯更具抗干扰性,便于压缩编码处理和易于加密,因此在图像通讯工程中数字处理技术获得广泛应用。
(5)图像的输出和显示
数字图像处理的最终目的是为了提供便于人眼或接收系统解释和社别图像,因此图像的输出和显示很重要。
一般图像输出的方式可分为硬拷贝,诸如照相、打印、扫描鼓等,还有所谓的软拷贝,诸如CRT监视器及各种新型的平板监视器等。
2.2MATLAB简介
2.2.1MATLAB基本功能
MATLAB是很实用的数学软件它在数学类科技应用软件中在数值运算方面首屈一指。
MATLAB可以进行运算、绘制函数和数据、实现算法、创建用户界面、连接接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
2.2.2MATLAB产品应用
MATLAB产品族可以用来进行以下各种工作:
(1)数值分析
(2)数值和符号计算
(3)工程与科学绘图
(4)控制系统的设计与仿真
(5)数字信号处理技术
(6)通讯系统设计与仿真
2.2.3MATLAB特点
(1)此高级语言可用于技术计算
(2)此开发环境可对代码、文件和数据进行管理
(3)交互式工具可以按迭代的方式探查、设计及求解问题
(4)二维和三维图形函数可用于可视化数据
(5)各种工具可用于构建自定义的图形用户界面
2.2.4MATLAB系列工具优势
(1)友好的工作平台和编程环境
MATLAB由一系列工具组成。
这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。
包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。
随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。
而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。
简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
(2)简单易用的程序语言
MATLAB一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。
用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。
新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。
使之更利于非计算机专业的科技人员使用。
而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
(3)强大的科学计算机数据处理能力
MATLAB是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。
在通常情况下,可以用它来代替底层编程语言,如C复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
3图像频域高通滤波原理
3.1频域滤波增强步骤及流程框图
图像的频域滤波增强是通过对图像的傅里叶频谱进行低通滤波来滤除噪声,通过对图像的傅里叶频谱进行高通滤波突出图像中的边缘和轮廓。
设为输入图像,为傅里叶变换后的输出,为转移函数(也称为滤波函数),为对进行频域滤波后的输出,为经傅里叶反变换后得到的频域滤波增强图像,则有:
(3.1)
(3.2)
频域滤波增强步骤:
(1)用乘以输入图像,进行中心变换;
(2)对步骤
(1)的计算结果图像进行二维傅里叶变换,即求;
(3)用设计的转移函数乘以,求;
(4)求步骤(3)的计算结果的傅里叶反变换,即计算;
(5)用乘以步骤(4)的计算结果,就可得到通过频域滤波增强后的图像。
频域滤波增强步骤可用如下流程框图图3.1进行描述:
图3.1频域滤波增强流程
3.2傅立叶变换原理
为了有效地和快速地对图像进行处理和分析,常常需要将原定义在图像空间的图像以某种形式转换到另外一些空间,并利用在这些空间的特有性质方便地进行一定的加工,最后再转换回图像空间以得到所需的效果,这就是图像变换。
图像变换是许多图像处理和分析技术的基础。
在图像处理和分析技术的发展中,离散傅里叶变换曾经起过并仍在起着重要的作用。
对于图像,其二维离散傅里叶变换定义为:
(3.3)
二维离散傅里叶反变换定义为:
(3.4)
二维离散傅里叶变换的傅里叶频谱、相位和能量谱为:
傅里叶频谱:
(3.5)
相位谱:
(3.6)
能量谱:
(3.7)
由傅里叶频谱的特性可知,u和v同时为0时的频率成分对应于图像的平均灰度级。
当从傅里叶频谱的原点离开时,低频对应着图像的慢变化分量,如一幅图像中较平坦的区域;当进一步离开原点时,较高的频率开始对应图像中变化越来越快的灰度级,它们反映了一幅图像中物体的边缘和灰度级突发改变(如噪声)部分的图像成分。
图像的频域滤波增强正是基于这种机理。
3.3高通滤波器原理
由于图像中的边缘、线条等细节部分与图像的傅里叶频谱的高频分量相对应,故在频域中采用高通滤波的方法进行处理。
简单地说,高通滤波器就是衰减傅里叶变换中的低频分量,而通过傅里叶变换中的高频分量。
常用的高通滤波器有理想高通滤波器、巴特沃斯高通滤波器、指数高通滤波器、梯形高通滤波器以及高斯高通滤波器等。
图像经过高频滤波器处理后,许多低频信号没了因此图像的平滑区域基本上消失。
对于这个问题本次课程设计采用高频加强滤波来弥补。
所谓高频加强滤波就是在原有的滤波器传递函数上加上一个介于0~1之间的常数c:
(3.8)
3.3.1理想高通滤波
一个二维理想高通滤波器(IPHF)的传递函数定义为:
(3.9)
式中是点到频率平面原点的距离,是频率平面上从原点算起的截止距离即截止频率。
3.3.2巴特沃斯高通滤波
n阶的具有截止频率的巴特沃斯高通滤波器(BHPF)的传递函数定义为:
(3.10)
式中是点到频率平面原点的距离。
值得注意的是:
当时,下降到最大值的1/2。
通常是用这样的方法来选择截止频率的,使该点处的下降到最大值的1/。
此式易于修改成使它本身满足这一约束条件,即利用下式:
(3.11)
3.3.3指数高通滤波
具有截止频率的指数型高通滤波器(EHPF)的传递函数定义为:
(3.12)
参量n控制着从原点算起的距离函数的增长率。
当时,上式经过简单的修改给出:
(3.13)
它使在截止频率时等于最大值的1/。
3.3.4梯形高通滤波
梯形高通滤波器(THPF)的传递函数定义为:
(3.14)
式中,是规定的,并假定>。
通常为了实现方便,定义截止频率在,而不是在半径上使为最大值的1/的那个点,第2个变量是任意的,只要它小于就行。
3.3.5高斯高通滤波
高斯高通滤波器(GHPF)的传递函数定义为:
(3.15)
式中M,N为目标矩阵的宽和高,为高斯高通滤波器的分布参数,其值可以任意取大于0的实数,本次课程设计将会取两个不同的值对其滤波结果进行比较。
4MATLAB程序代码
RGB=imread('D:
\soccer.jpg');%读入图像
A=rgb2gray(RGB);%转为灰度图像
subplot(431);%显示原图
imshow(A);
xlabel('(a)原图像')
A=double(A);%数据类型转换为双精度型
F=fft2(A);%图像傅里叶转换
G=fftshift(F);%数据矩阵平衡
[M,N]=size(F);%获取傅立叶变换图像矩阵尺寸
m=floor(M/2);%取整
n=floor(N/2);
D0=20;%截止频率为20
fori=1:
M%进行理想高通滤波和理想高通加强滤波
forj=1:
N
IDEALD=sqrt((i-m)^2+(j-n)^2);
ifIDEALD>=D0
ih1=1;%求传递函数值
ih2=1+0.5;
else
ih1=0;
ih2=0.5;
end
ig1(i,j)=ih1*G(i,j);%图像矩阵计算处理
ig2(i,j)=ih2*G(i,j);
end
end
ig1=ifftshift(ig1);%傅立叶变换平移
ig1=uint8(real(ifft2(ig1)));%傅里叶逆变换为无符号8位整数
subplot(432);%显示理想高通滤波结果
imshow(ig1);
xlabel('(b)理想高通滤波');
ig2=ifftshift(ig2);
ig2=uint8(real(ifft2(ig2)));
subplot(433);%显示理想高通加强滤波结果
imshow(ig2);
xlabel('(c)理想高通加强滤波');
%进行巴特沃斯高通滤波
L=2;%取2阶巴特沃斯高通滤波器
Dcut=100;%定义截止频率为100
fori=1:
M
forj=1:
N
BUTD=sqrt((i-m)^2+(j-n)^2);
ifBUTD==0
bh1=0;
bh2=0.5;
else
bh1=1/(1+(Dcut/BUTD)^(2*L));
bh2=1/(1+(Dcut/BUTD)^(2*L))+0.5;
end
bg1(i,j)=bh1*G(i,j);
bg2(i,j)=bh2*G(i,j);
end
end
bg1=ifftshift(bg1);
bg1=uint8(real(ifft2(bg1)));
subplot(434);%显示巴特沃斯高通滤波结果
imshow(bg1);
xlabel('(d)巴特沃斯高通滤波’)
bg2=ifftshift(bg2);
bg2=uint8(real(ifft2(bg2)));
subplot(435);%显示巴特沃斯高通加强滤波结果
imshow(bg2);
xlabel('(e)巴特沃斯高通加强滤波');
%进行指数高通滤波
Dc=100;%截止频率取100
fori=1:
M
forj=1:
N
DE=sqrt((i-m)^2+(j-n)^2);
ifDE==0
eh1=0;
eh2=0.5;
else
eh1=exp(log(1/sqrt
(2))*(Dc/DE)^2);
eh2=exp(log(1/sqrt
(2))*(Dc/DE)^2)+0.5;
end
eg1(i,j)=eh1*G(i,j);
eg2(i,j)=eh2*G(i,j);
end
end
eg1=ifftshift(eg1);
eg1=uint8(real(ifft2(eg1)));
subplot(436);%显示指数高通滤波结果
imshow(eg1);
xlabel('(f)指数高通滤波');
eg2=ifftshift(eg2);
eg2=uint8(real(ifft2(eg2)));
subplot(437);%显示指数高通加强滤波结果
imshow(eg2);
xlabel('(g)指数高通加强滤波');
%进行梯形高通滤波
DL=10;%定义拐点为10截止频率为20
DH=20;
fori=1:
M
forj=1:
N
DT=sqrt((i-m)^2+(j-n)^2);
ifDT
th1=0;th2=0.5;
elseifDT<=DH
th1=(DT-DL)/(DH-DL);
th2=(DT-DL)/(DH-DL)+0.5;
else
th1=1;
th2=1.5;
end
tg1(i,j)=th1*G(i,j);
tg2(i,j)=th2*G(i,j);
end
end
tg1=ifftshift(tg1);
tg1=uint8(real(ifft2(tg1)));
subplot(438);%显示梯形高通滤波结果
imshow(tg1);
xlabel('(h)梯形高通滤波');
tg2=ifftshift(tg2);
tg2=uint8(real(ifft2(tg2)));
subplot(439);%显示梯形高通加强滤波结果
imshow(tg2);
xlabel('(i)梯形高通加强滤波');
%进行高斯高通滤波
sigma1=20;%分别取值sigma为20、60
sigma2=60;
fori=1:
M
forj=1:
N
gh1=1-exp(-((i-m)^2+(j-n)^2)/2/sigma1^2);
gh2=1-exp(-((i-m)^2+(j-n)^2)/2/sigma2^2);
gg1(i,j)=gh1*G(i,j);
gg2(i,j)=gh2*G(i,j);
end
end
gg1=ifftshift(gg1);
gg1=uint8(real(ifft2(gg1)));
subplot(4,3,10);%显示sigma=20高斯高通滤波结果
imshow(gg1);
xlabel('(j)高斯高通滤波sigma=20');
gg2=ifftshift(gg2);
gg2=uint8(real(ifft2(gg2)));
subplot(4,3,11);%显示sigma=60高斯高通滤波结果
imshow(gg2);
xlabel('(k)高斯高通滤波sigma=60');
5仿真结果与分析
5.1仿真结果
(1)通过访问图片路径获取原图像的矩阵数据,并输出显示原图像的灰度图像,得到下图5.1
图5.2原图像
(2)设置截止频率为20,原始灰度图像通过傅里叶变换平移后与理想高通滤波器传递函数相乘,再经傅里叶平移与反变换,输出显示理想高通滤波结果,得到下图5.2:
图5.2理想高通滤波
(3)设置截止频率为20,原始灰度图像通过傅里叶变换平移后与理想高通加强滤波器传递函数相乘,其传递函数由理想高通滤波器传递函数加上值为0.5的常数c得到,再经傅里叶平移与反变换,输出显示理想高通加强滤波结果,得到下图5.3:
图5.3理想高通加强滤波
(4)设置滤波器为二阶巴特沃斯高通滤波器,定义截止频率为100,原始灰度图像通过傅里叶变换平移后与巴特沃斯高通滤波器传递函数相乘,再经傅里叶平移与反变换,输出显示巴特沃斯高通滤波结果,得到下图5.4:
图5.4巴特沃斯高通滤波
(5)设置滤波器为二阶巴特沃斯高通滤波器,定义截止频率为100,原始灰度图像通过傅里叶变换平移后与巴特沃斯加强滤波器传递函数相乘,其传递函数由巴特沃斯滤波器传递函数加上值为0.5的常数c得到,再经傅里叶平移与反变换,输出显示巴特沃斯高通加强滤波结果,得到下图5.5:
图5.5巴特沃斯高通加强滤波
(6)定义截止频率为100,原始灰度图像通过傅里叶变换平移后与指数高通滤波器传递函数相乘,再经傅里叶平移与反变换,输出显示指数高通滤波结果,得到下图5.6:
图5.6指数高通滤波
(7)定义截止频率为100,原始灰度图像通过傅里叶变换平移后与指数高通加强滤波器传递函数相乘,其传递函数由指数高通滤波器传递函数加上值为0.5的常数c得到,再经傅里叶平移与反变换,输出显示指数高通加强滤波结果,得到下图5.7:
图5.7指数高通加强滤波
(8)定义截止频率为20,拐点为10,原始灰度图像通过傅里叶变换平移后与梯形高通滤波器传递函数相乘,再经傅里叶平移与反变换,输出显示梯形高通滤波结果,得到下图5.8:
图5.8梯形高通滤波
(9)定义截止频率为20,拐点为10,原始灰度图像通过傅里叶变换平移后与梯形高通加强滤波器传递函数相乘,其传递函数由梯形高通滤波器传递函数加上值为0.5的常数c得到,再经傅里叶平移与反变换,输出显示梯形高通加强滤波结果,得到下图5.9:
图5.9梯形高通加强滤波
(10)定义分布参数sigma=20,原始灰度图像通过傅里叶变换平移后与高斯高通滤波器传递函数相乘,再经傅里叶平移与反变换,输出显示高斯高通滤波结果,得到下图5.10:
图5.10高斯高通滤波sigma=20
(11)定义分布参数sigma=60,原始灰度图像通过傅里叶变换平移后与高斯高通滤波器传递函数相乘,再经傅里叶平移与反变换,输出显示高斯高通滤波结果,得到下图5.11:
图5.11高斯高通滤波sigma=60
5.2结果分析
(1)所有得出的滤波结果与图5.1,即原图比较,都滤去了低频部分,提取出图像的边缘信息,使图像得到锐化处理;
(2)由除高斯高通滤波器之外的另外四种高通滤波器的高通滤波结果与其高通加强滤波结果比较,加强滤波结果低频信息更丰富,同时又提取出图像的边缘信息;
(3)高斯高通滤波器分别在sigma=20与sigma=60的滤波结果相比较,参数sigma为60的边缘信息更准确,却丢失了一部分高频信息;
(4)通过比较滤波结果图,如图5.9所示,梯形高通加强滤波收到了更好的视觉效果。
结论
(1)本次试验所有滤波器均能较好地提取到图像的边缘信息,其中;理想高通滤波有明显的振铃现象,高地频率间的过度比较平滑,而巴特沃斯高通滤波器、梯形高通滤波器以及高斯高通滤波器振铃不明显。
(2)加入常数部分后的高通滤波器弥补了低频信息,使图像质量得到改善,滤波效果优于未加常数的滤波器;
(3)高斯高通滤波器sigma值越大,边缘信息越准确,但是容易丢失部分高频信息;
(4)本次课程设计中的所有滤波结果中,加入常数的梯形高通加强滤波结果效果最好。
参考文献
[1]龚声蓉,刘纯平,赵勋杰.数字图像处理[M].北京,清华大学出版社,2014.P71-78
[2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB 数字图像 课程设计 图像 增强 滤波器 算法 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)