基于MATLAB的数字图像课程设计图像频域增强高通滤波器算法设计.docx
《基于MATLAB的数字图像课程设计图像频域增强高通滤波器算法设计.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的数字图像课程设计图像频域增强高通滤波器算法设计.docx(21页珍藏版)》请在冰豆网上搜索。
基于MATLAB的数字图像课程设计图像频域增强高通滤波器算法设计
摘要
图像增强是对数字图像的预处置,使图像整体或局部特点能有效地改善。
通过对频域域图像增强理论的明白得,分析了频率域的高通滤波。
在此基础上,利用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)加入常数部