图像高通滤波器

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

摘要
数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人们服务。

数字图像处理是一种通过计算机采用一定的算法对图形图像进行处理的技术.数字图像处理技术已经在各个领域上都有了比较广泛的应用。

图像处理的信息量很大,对处理速度的要求也比较高。

MATLAB强大的运算和图形展示功能,使图像处理变得更加的简单和直观.
在图像处理的过程中,消除图像的噪声干扰是一个非常重要的问题。

本篇论文主要是利用MATLAB软件,采用频域滤波的方法,对图像进行高通滤波处理。

图像的边缘、细节主要在高频部分得到反映,而图像的模糊是由于高频成分比较弱产生的。

通过高通滤波技术,可以消除模糊,突出边缘,使低频分量得到抑制,从而达到增强高频分量,使图像的边沿或线条变得清晰,实现图像的锐化。

本文使用的高通滤波器有理想高频滤波器、巴特沃斯滤波器和高斯滤波器.实际应用中应该根据实际图像中包含的噪声情况灵活地选取适当的滤波算法。

关键词:数字图像处理; MATLAB;高通滤波;突出边缘
目录
1 课程设计目的 (1)
2 课程设计要求 (2)
3 MATLAB简介 (3)
3。

1 MATLAB主要功能 (3)
3.2 工作平台和编程环境 (3)
4 数字图像处理的介绍 (4)
4.1 数字图像处理的发展 (4)
4。

2 数字图像处理的应用 (4)
5 设计方案 (5)
6 程序设计 (6)
6。

1 基本思路 (6)
6.2 基本公式 (6)
6.3 设计过程 (7)
6。

3.1理想高通滤波器 (7)
6.3。

2 Butterworth滤波器 (8)
6。

3。

3指数高通滤波器 (11)
7 仿真结果 (14)
7.1 滤波器仿真结果 (14)
7.2 结果分析 (16)
结论 (17)
参考文献 (18)
1课程设计目的
本次课程设计的目的在于提高发现问题、分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。

熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计.综合运用MATLAB软件实现图像高通滤波程序设计。

1)熟悉MATLAB软件环境,学习如何利用MATLAB软件来实现对图像的各种数字化处理;
2)掌握常用频域高通滤波器的设计,进一步加深理解和掌握图像频谱的特点和频域高通滤波的原理。

3)理解图像高通滤波的处理过程和特点,以及通过设计不同的滤波器来实现对图像的不同滤波效果;
4)在设计过程中探索出影响滤波效果的因素有哪些。

5)通过高通滤波技术来消除图像的模糊,突出图像的边缘,使低频分量得到抑制,增强高频分量,使图像的边沿或线条变得清晰,实现图像的锐化。

2课程设计要求
利用所学的数字图像处理技术,建立实现某一个主题处理的系统,利用MATLAB软件系统来实现图像的频域滤波技术,要求:
1)学习和熟悉MATLAB软件的使用方法;
2)熟悉和掌握MATLAB 程序设计过程;
3)利用所学数字图像处理技术知识和MATLAB软件对图像进行高通滤波处理
4)能对图。

jpg、。

bmp、.png格式进行打开、保存、另存、退出等一系列功能操作;
5)在程序开发时,必须清楚主要实现函数目的和作用,需要在程序书写时做适当注释说明,理解每一句函数的具体意义和使用范围;
6)比较在高通滤波器中理想高频滤波器、巴特沃斯滤波器和高斯滤波器对图像数字化处理效果的异同;
7)探索影响滤波效果的因素,通过设计不同的滤波半径和滤波器阶数来实现对图像的不同效果处理.
3 MATLAB简介
3。

1 MATLAB主要功能
MATLAB是MathWork公司于1982年推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,拥有界面简洁、友好的用户环境.它是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,其强大的图形功能以及丰富的图像处理工具函数,使得MATLAB特别适合于图像处理学习和应用。

MATLAB是一个交互式系统,是一种面向数组的编程语言。

它是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言。

高级语言可用于技术计算;开发环境可对代码、文件和数据进行管理;二维和三维图形函数可用于可视化数据;各种工具可用于构建自定义的图形用户界面;各种函数可将基于MATLAB的算法与外部应用程序和语言;其应用范围非常广,包括信号和图像处理、通迅、控制系统设计、测试和测量等众多应用领域.
3.2 MATLAB工作平台和编程环境
MATLAB有两种常用的工作模式:一种是在命令窗口中直接输入简单的命令;另一种是.m文件的编程工作方式.前者适用于命令行这种比较简单的情形,而后者则适用于进行大量的复杂计算的情形.MATLAB启动后桌面布置方式中包含了1个工具栏、3个区域、5个工作窗口,这5个工作窗口分别为发射台(launch pad)、工作区(workspace)、命令历史(command history)、当前路径(current directory)和命令窗口(command windows)。

随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,可以利用菜单命令完成对工作窗口的操作,人机交互性更强,操作更简单。

4数字图像处理的介绍
4.1数字图像处理的发展
图像是人类获取信息、表达信息和传递信息的重要手段。

因此,数字图像处理技术已经成为信息科学、计算机科学、工程科学、地球科学等诸多方面的学者研究图像的有效工具。

数字图像处理的发展历史并不长,起源于20世纪20年代.数字图像需要很大的存储空间和计算能力,其发展受到数字计算机和包括数据存储、显示和传输等相关技术的发展的制约。

因此,数字图像处理的历史与计算机的发展密切相关,数字图像处理的真正历史是从数字计算机
的出现开始的.数字图像处理技术在20世纪60年代末70年代初开始用于医学图像、地球遥感监测和天文学等领域。

其后军事、气象、医学等学科的发展也推动了图像处理技术的迅速发展.此外,计算机硬件设备的不断降价,包括高速处理器、海量存储器、图像数字化和图像显示、打印等设备的不断降价成为推动数字图像处理技术发展的又一个动力。

4。

2数字图像处理的应用
目前数字图像处理的应用越来越广泛,已经渗透到工程、工业、医疗保健、航空航天、军事、科研、安全保卫等各个领域,在国民经济中发挥越来越大的作用.卫星遥感数字图像处理技术可以广泛地应用于所有与地球资源相关的农、林、地、矿、油等领域;指纹识别技术则在公共安全领域得到了广泛应用;在医学领域,CT、核磁共振等技术已经广泛应用于临床诊断。

总之,图像处理技术的应用是相当广泛的,它在国家安全、经济发展、日常生活中充当着越来越重要的角色,对国计民生有着不可忽略的作用。

5设计方案
利用MATLAB图像处理工具箱,设计自己的Photoshop,实现图像高通滤波效果。

要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。

然后按照自己拟定的功能要求进行程序设计和调试.
1)图像的读取和保存;
2)编写程序,通过相关公式和理论知识,实现理想高频滤波器、巴特沃斯滤波器和高斯滤波器的不同效果;
3)在编程过程中,通过设置不同的滤波半径和不同的滤波器阶数,来实现图像滤波后的不同效果;
4)设计图形用户界面,让用户能够对原图像与通过各种高通滤波后所得图像进行对比,以清楚显示高通滤波的效果;
5)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。

6程序设计
6。

1基本思路
说明:高通滤波是对图像增强的频域方法之一,本论文采用理想高频滤波器、巴特沃斯滤波器和高斯滤波器的来实现图像滤波的不同效果。

(1)读取原始图像;
(2)对图像进行二维傅里叶变换,将图像从空间域变换到频率域;
(3)在频率域对图像进行各种滤波处理;
(4)对图像进行二维傅里叶逆变换,将图像从频率域反变回到空间域;
(5)显示原图像和变换后的图像。

6.2 基本公式
(1)理想高通滤波器的转移函数:
0, D(u,v)≤ D0
H(u,v)= (6。

1)
1, D(u,v) > D0
(2)Butterworth滤波器的转移函数:
H(u,v)=1/{1+[} (6.2)(3)指数高通滤波器的转移函数:
H(u,v)=(6。

3)注:式中,D0为截止频率;D(u,v)=是点(u,v)到频率平面原点的距离。

6。

3 设计过程
6。

3。

1 理想高通滤波器
clear all
%读取图像
I=imread('testpat1。

png');
J=double(I);
%分别设置3种不同的滤波半径
D1=15;
D2=30;
D3=50;
%傅里叶变换并中心化
Fuv=fftshift(fft2(J));
[M,N]=size(Fuv);
%确定傅里叶变换的原点
xo=floor(M/2);
yo=floor(N/2);
图像高通滤波器%分别求IHPF
for i=1:M
for j=1:N
D=sqrt((i—xo)^2+(j-yo)^2);
if(D>=D1)
h1(i,j)=1;
else
h1(i,j)=0;
end
if(D>=D2)
h2(i,j)=1;
else
h2(i,j)=0;
end
if(D>=D3)
h3(i,j)=1;
else
h3(i,j)=0;
end
end
end
%滤波矩阵点乘
Guv1=h1.*Fuv;
Guv2=h2。

*Fuv;
Guv3=h3。

*Fuv;
%傅里叶逆变换
g1=ifftshift(Guv1);
g1=uint8(real(ifft2(g1)));
g2=ifftshift(Guv2);
g2=uint8(real(ifft2(g2)));
g3=ifftshift(Guv3);
g3=uint8(real(ifft2(g3)));
图像高通滤波器%分别显示各个图像
subplot(2,2,1);imshow(I);title('原图像')
subplot(2,2,2);imshow(g1);title('IHPF D0=15’);
subplot(2,2,3);imshow(g2);title('IHPF D0=30');
subplot(2,2,4);imshow(g3);title('IHPF D0=50');
6。

3。

2 Butterworth滤波器
clear all
%读取图像
I=imread('testpat1.png’);
J=double(I);
%分别设置3种不同的滤波半径
D1=15;
D2=30;
D3=50;
%滤波器阶数
n1=2;
n2=4;
%傅里叶变换并中心化
Fuv=fftshift(fft2(J));
[M,N]=size(Fuv);
%确定傅里叶变换的原点
xo=floor(M/2);
yo=floor(N/2);
%分别求3个不同截止频率的BHPF
for i=1:M
for j=1:N
D=sqrt((i—xo)^2+(j—yo)^2);
if D==0
h1(i,j)=0;
h2(i,j)=0;
h3(i,j)=0;
h4(i,j)=0;
h5(i,j)=0;
h6(i,j)=0;
else
h1(i,j)=1/(1+(D1/D)^(2*n1));
h2(i,j)=1/(1+(D2/D)^(2*n1));
h3(i,j)=1/(1+(D3/D)^(2*n1)); h4(i,j)=1/(1+(D1/D)^(2*n2)); h5(i,j)=1/(1+(D2/D)^(2*n2)); h6(i,j)=1/(1+(D3/D)^(2*n2)); end
end
end
%滤波矩阵点乘
Guv1=h1.*Fuv;
Guv2=h2。

*Fuv;
Guv3=h3.*Fuv;
Guv4=h4.*Fuv;
Guv5=h5.*Fuv;
Guv6=h6.*Fuv;
%傅里叶逆变换
g1=ifftshift(Guv1);
g1=uint8(real(ifft2(g1)));
g2=ifftshift(Guv2);
g2=uint8(real(ifft2(g2)));
g3=ifftshift(Guv3);
g3=uint8(real(ifft2(g3)));
g4=ifftshift(Guv4);
g4=uint8(real(ifft2(g4)));
g5=ifftshift(Guv5);
g5=uint8(real(ifft2(g5)));
g6=ifftshift(Guv6);
g6=uint8(real(ifft2(g6)));
%分别显示各个图像
subplot(3,3,1);imshow(I);title('原图像');
subplot(3,3,4);imshow(g1);title(’2阶BHPF D0=15’); subplot(3,3,5);imshow(g2);title('2阶 BHPF D0=30'); subplot(3,3,6);imshow(g3);title('2阶 BHPF D0=50'); subplot(3,3,7);imshow(g4);title('4阶 BHPF D0=15’);
6。

3。

3 指数高通滤波器
clear all
%读取图像
I=imread(’testpat1.png’);
J=double(I);
%分别设置3种不同的滤波半径
D1=15;
D2=30;
D3=50;
%滤波器阶数
n1=2;
n2=4;
%傅里叶变换并中心化
Fuv=fftshift(fft2(J));
[M,N]=size(Fuv);
%确定傅里叶变换的原点
xo=floor(M/2);
yo=floor(N/2);
%分别求3个不同截止频率的EHPF
for i=1:M
for j=1:N
D=sqrt((i-xo)^2+(j—yo)^2);
if D==0
h1(i,j)=0;
h2(i,j)=0;
h3(i,j)=0;
h4(i,j)=0;
h5(i,j)=0;
h6(i,j)=0;
else
h1(i,j)=exp(-(D1/D)^n1); h2(i,j)=exp(—(D2/D)^n1); h3(i,j)=exp(-(D3/D)^n1);
h4(i,j)=exp(-(D1/D)^n2);
h5(i,j)=exp(-(D2/D)^n2); h6(i,j)=exp(-(D3/D)^n2); end
end
end
%滤波矩阵点乘
Guv1=h1。

*Fuv;
Guv2=h2.*Fuv;
Guv3=h3.*Fuv;
Guv4=h4.*Fuv;
Guv5=h5.*Fuv;
Guv6=h6。

*Fuv;
%傅里叶逆变换
g1=ifftshift(Guv1);
g1=uint8(real(ifft2(g1)));
g2=ifftshift(Guv2);
g2=uint8(real(ifft2(g2)));
g3=ifftshift(Guv3);
g3=uint8(real(ifft2(g3)));
g4=ifftshift(Guv4);
g4=uint8(real(ifft2(g4)));
g5=ifftshift(Guv5);
g5=uint8(real(ifft2(g5)));
g6=ifftshift(Guv6);
g6=uint8(real(ifft2(g6)));
%分别显示各个图像
subplot(3,3,1);imshow(I);title('原图像');
subplot(3,3,4);imshow(g1);title('2阶EHPF D0=15’);subplot(3,3,5);imshow(g2);title(’2阶 EHPF D0=30');subplot(3,3,6);imshow(g3);title(’2阶 EHPF D0=50');subplot(3,3,7);imshow(g4);title('4阶 EHPF D0=15');subplot(3,3,8);imshow(g5);title('4阶 EHPF D0=30'); subplot(3,3,9);imshow(g6);title('4阶 EHPF D0=50');
7.仿真结果
7.1滤波器仿真结果
(1)理想高通滤波器
图7。

1 理想高通滤波器仿真结果图
(2)Butterworth滤波器
图7。

2 Butterworth滤波器仿真结果图(3)指数高通滤波器
图7.3 指数高通滤波器仿真结果图
7.2结果分析
从实验的仿真结果我们可以看出,不同的滤波器对图像的滤波效果是不同的。

它们的共同点是图像在经过高通滤波后,消除了模糊,突出了边缘,使低频分量得到了抑制,从而增强了高频分量,使图像的边沿或线条变得清晰,实现了图像的锐化。

但理想高通滤波器出现了明显的振铃现象,即图像边缘有抖动现象;而Butterworth滤波器高通效果较好,但是计算复杂,其优点是有少量的低频通过,故H(u,v)是渐变的,振铃不明显;指数高通滤波效果比Butterworth 差些,但振铃也不明显.而且不同的滤波半径和不同的滤波器阶数对图像的滤波效果也是不同的。

滤波半径越越小,则图像的滤波效果越好;滤波器阶数越高,则滤波效果越好.
从以上3种高通滤波的研究可知,加强了高频分量,但是由于低频通过太少,故处理后图像仍不清晰。

理想的方案是把多种处理方法综合使用,例如每次频域处理之后,再用空域处理,如直方图均衡化修正,这样处理后,图像效果更好,轮廓更加突出,图像更加清晰.
结论
数字图像处理技术是一门用途非常广泛的技术,而且研究的领域也很广泛,它不仅能对图像进行增强处理,而且在图像变换、图像编码与压缩、图像复原、识别等方面也占据着重要的地位.数字图像处理技术主要是以MATLAB软件为基础,利用MATLAB软件的强大的数值运算功能和二维、三维绘图功能,对图像进行一系列的处理以达到某种预期的效果.
由于MATLAB函数众多,而且课本上提供的都是最基本的函数功能以及对MATLAB软件简单的介绍,在进行实际的图像处理时,这些知识是远远不够的,因此要熟悉与掌握MATLAB软件的使用,我们就要自己不断的学习与研究,可以去图书馆借这方面的专业书籍来阅读,也可以直接向老师学习.
通过本次课程设计,使自己对MATLAB软件有了深刻的了解,而且自己可以独立的运用MATLAB 软件完成对图像的各种处理.对其设计流程也有了比较深刻的体会。

在设计过程中碰到了很多的问题,通过这些问题,使自己分析问题,解决问题的能力得到了较大的提高。

同时,我也深刻意识到,在使用诸如MATLAB、C语言、Java等编程类的软件时,要非常的认真与细心,不能有一丝的马虎,否则将不能实现自己所要求的结果.总之,这次课程设计使我学到了很多有用的知识,也让我明白了要想真正掌握一门新知识,就必须对其进行不断的学习与探索。

在探索的过程中,不论遇到什么样的问题,我相信只要我们不退缩,敢于挑战,所有问题都将不是问题。

参考文献
[1]刘刚等。

MATLAB数字图像处理[M]。

机械工业出版社,2010:135-150.
[2] 龚声蓉等.数字图像处理与分析[M].清华大学出版社,2006: 1-15,258-269。

[3]葛哲学.精通MATLAB[M].电子工业出版社,2008: 2—8.
[4]张圣勤. MATLAB7。

0实用教程[M]。

机器工业出版社,2006: 90-118.
[5]孙仲康,沈振康.数字图像处理的应用[M]。

国防工业出版社,2008:132—158.
[6] 贾永红.计算机图像处理与分析[M].武汉大学出版社,2005:35-47.
[7]姚敏。

数字图像处理[M]。

机械工业出版社,2006: 52—60。

[8] 阮沈勇。

MATLAB程序设计[M].电子工业出版社,2004: 70—85.
[9]陈桂明.应用MATLAB语言处理数字信号与图像处理[M]. 科学出版社,
2000: 50—65.
[10]赵荣椿。

数字图像处理导论[M].西北工业大学出版社,2003: 65—72。

相关文档
最新文档