《MATLAB在数字图像处理上的应用要点.pdf》由会员分享,可在线阅读,更多相关《MATLAB在数字图像处理上的应用要点.pdf(19页珍藏版)》请在三一文库上搜索。
1、 MATLAB 在数字图像增强处理上的应用 姓名: 学号: 专业: 班级 : 学院: 完成日期: MATLAB 在图像增强处理中的应用 (姓名学号年级班级) 摘要 数字图像增强处理是一门新兴技术,随着计算机硬件的发展, 数字增强图像的实时处理已经成为可能,由于数字图像增强处理的各 种算法的出现,使得其处理速度越来越快,能更好的为人们服务。数 字增强图像处理是一种通过计算机采用一定的算法对图形图像进行 增强处理的技术。 数字图像增强处理技术已经在各个领域上都有了比 较广泛的应用。 图像增强处理的信息量很大, 对处理速度的要求也比 较高。 MATLAB 语言因具有功能强、效率高、简单易学等特点,在
2、许 多领域得到广泛应用。MATLAB 强大的运算和图形展示功能,使图像 增强处理变得更加的简单和直观。本文介绍了MATLAB 语言的特点 , 基于 MATLAB 的数字图像处理环境, 介绍了如何利用MATLAB 进行数字 图像增强处理,并通过一些例子来说明利用MATLAB 进行图像增强处 理的方法,重点分析了MATLAB 在图象增强处理中的应用。通过实例 验证了该语言具有强大图形处理能力, 是一种简洁易学 , 可读性强、 功能强大的应用软件。 关键词 MATLAB 语言、数字图像处理、图像增强 Abstract Digital image processing is an emerging t
3、echnology, with the development of computer hardware, real-time digital image processing has become possible due to digital image processing algorithms to appear, making it faster and faster processing speed, better for People services .Digital image processing is used by some algorithms computer gr
4、aphics image processing technology. Digital image processing technology has been in various areas have a relatively wide range of applications. Image processing large amount of information on the processing speed requirement is relatively high. MATLAB powerful computing and graphics display capabili
5、ties, so that image processing becomes more simple and intuitive. This paper introduces characteristics of MATLAB language and this MATLAB-based digital image processing environment, describes how to use the MATLAB Image Processing Toolbox for its digital image processing, and through some examples
6、to illustrate the use of MATLAB Image Processing Toolbox for image processing method. Mainly discusses the use of MATLAB for image enhancement and other image processing technologies. Keywords: MATLAB, digital image processing, image enhancement. 目录 1 绪论. 1 1.1 课题研究目的及意义. 1 1.2 课题主要研究内容 1 1.3 本课题研究工
7、作与结构安排 1 2 数字图像处理的简介 . 2 3MATLAB 基本知识介绍 . 2 4 图像增强 . 3 4.1 空域变换增强 3 4.1.1 增强对比度 3 4.2 空域滤波增强 4 4.2.1 基本原理 4 4.2.2 线性平滑滤波器 5 4.2.3 非线性平滑滤波器 6 4.2.4 线性锐化滤波器 7 4.3频域增强 8 4.3.1基本原理 8 4.3.2 低通滤波 9 4.3.4 高通滤波 . 10 5 总结 . 12 6 参考文献 . 12 1 1 绪论 本章简略介绍课题的研究目的及意义,主要研究内容以及论文内容安排等。 1.1 课题研究目的及意义 数字图像处理( Digital
8、 Image Processing) ,就是利用数字计算机或者其 他数字硬件, 对从图像信息转换而得到的电信号进行某些数学运算,以提高图像 的实用性。例如从卫星图片中提取目标物的特征参数,三维立体断层图像的重建 等。总的来说,数字图像处理包括点运算、几何处理、图像增强、图像复原、图 像形态学处理、图像编码、图像重建、模式识别等。 由于计算机处理能力的不断增强,数字图像处理学科在飞速发展的同时,也 越来越广泛地向许多其他学科快速交叉渗透,使得图像作为信息获取以及信息的 利用等方面也变得越来越重要。 目前数字图像处理的应用越来越广泛,已经渗透 到工业、医疗保健、航空航天、军事等各个领域,在国民经济
9、中发挥越来越大的 作用。 MathWorks公司推出的 MATLAB 软件是学习数理知识的好帮手。应用MATLAB 友好的界面和丰富、实用、高效的指令及模块,可以使人较快地认识、理解图像 处理的相关概念, 逐步掌握图像信号处理的基本方法,进而能够解决相关的工程 和科研中的问题。 图像是人类获取和交换信息的主要来源,因此,图像处理的应用领域 必然涉及到人类生活和工作的方方面面。随着人类活动范围的不断扩大, 图像处理的应用领域也将随之不断扩大,已在国家安全、经济发展、日常 生活中充当越来越重要的角色, 对国计民生的作用不可低估。 1.2 课题主要研究内容 通过 MATLAB 语言对数字图像进行增强
10、处理。 1.3 本课题研究工作与结构安排 本文主要以 MATLAB 为工具来实现数字图像的增强处理。全文共分5 章,结 构安排如下: 2 第一章 绪论,介绍了课题研究目的及意义和国内外研究现状。 第二章 介绍了数字图像和数字图像处理的基本知识。 第三章 介绍了 Matlab 仿真工具。 第四章 介绍了图像增强的原理及利用MATLAB 来实现图像增强。 第五章 总结。 3 2 数字图像处理的简介 数字图像处理(Digital Image Processing)是通过计算机对图像进行 去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像 处理的产生和迅速发展主要受三个因素的影响:一是计
11、算机的发展;二是 数学的发展 ( 特别是离散数学理论的创立和完善) ;三是广泛的农牧业、林 业、环境、军事、工业和医学等方面的应用需求的增长。 数字图像处理主要研究的内容有以下几个方面: (1)图像变换。 (2)图像编码压缩。 (3)图像增强和复原。 (4)图像分割。 (5)图像描述。 (6)图像分类(识别)。 本文我们只对图像增强进行研究。 4 3 MATLAB基本知识介绍 MATLAB 是 MATrix LABoratory( “矩阵 实 验室”)的 缩写, 是由美国 MathWorks 公司开发的集数值计算、 符号计算和图形可视化三大基本功能于一体 的,功能强大、操作简单的语言。是国际公
12、认的优秀数学应用软件之一。 MATLAB 的基本数据单位是矩阵, 它的指令表达式与数学 , 工程中常用的形式 十分相似 , 故用 MATLAB 来解算问题要比用 C,FORTRAN等语言完相同的事情简捷得 多。 MATLAB 包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具 包又可以分为功能性工具包和学科工具包. 功能工具包用来扩充MATLAB的符号 计算, 可视化建模仿真 , 文字处理及实时控制等功能. 学科工具包是专业性比较强 的工具包 , 控制工具包 , 信号处理工具包 , 通信工具包等都属于此类. 开放性使 MATLAB 广受用户欢迎 . 除内部函数外 , 所有 M
13、ATLAB 主包文件和各种 工具包都是可读可修改的文件, 用户通过对源程序的修改或加入自己编写程序构 造新的专用工具包 . 4 图像增强 图像增强是一类基本的图像处理技术,其目的是对图像进行加工, 以得到对 具体应用来说视觉效果更好、 更有用的图像。 这里的好和有用要因具体的应用目 的和要求而异,并且所需的具体增强技术也可不同。 目前常用的增强技术根据其处理所进行的空间不同,可分为基于图像域的方 法和基于变化域的方法。 第一类,直接在图像所在的空间进行处理,也就是在像 素组成的空间里直接对像素进行操作;第二类,在图像的变化域对图像进行间接 处理。 空域增强方法可表示为: g(x,y)=EHf(
14、x,y) 其中 f(x,y)和 g(x,y)分别为增强前后的图像,EH 代表增强操作。 4.1.1 增强对比度 增强对比度实际是增强原图像的各部分的反差。实际中往往是通过原图中某 两个灰度值之间的动态范围来实现的(如图4-1) 。 5 在图 411 中可以看出, 通过变换可以使原图的较高的和较低的灰度值的动态 范围减小了,而原图在二者之间的动态范围增加了, 从而其范围的对比度增加了。 MATLAB 代码所示: I=imread(moon.tif); %读入图像为trees 的图像并赋给I J=imadd(I,50); %给图像的像素加上一个常数50 subplot(1,2,1),imshow(
15、I); %选择 12 个区中的 1 号区显示图像I subplot(1,2,2),imshow(J); %选择 12 个区中的 2 号区显示图像J 图1 像素加上常数后的图像与原图像对比图 小结:如图 5通过两个 moon 的对比可以看出 MATLAB 中每一个像素加上一个常 数后可以使图像的亮度增加。 4.2 空域滤波增强 一般情况下, 像素的邻域比该像素要大, 也就是说这个像素的邻域中除了本 6 身以外还包括其他像素。在这种情况下,g(x,y) 在(x,y) 位置处的值不仅取决于 f(x,y)在以(x,y) 为中心的邻域内所有的像素的值。 如仍以 s 和 t 分别表示 f(x,y) 在(x
16、,y) 位置处的灰度值,并以n(s) 代表 f(x,y)在(x,y) 邻域内像素的灰度值, 则 t=EAs,n(s) 为在邻域内实现增强操作, 常可利用模板与图像进行卷积。 每个模板实际上 是一个二维数组, 其中各个元素的取值定了模板的功能,这种模板操作也称为空 域滤波。 4.2.1 基本原理 空域滤波可分为线形滤波和非线形滤波两类。 线形滤波器的设计常基于对傅立叶变换的分析。 非线形空域滤波器则一般直接对邻域进行操作。 另外各种滤波器根据功能又主要分成平滑滤波和锐化滤波。平滑可用低通来 实现,锐化可用高通来实现 平滑滤波器:它能减弱或消除傅立叶空间的高频分量,但不影响在低频分量。 因为高频分
17、量对应图像中的区域边缘等灰度值具有较大较快变化的部分,滤波器 将这些分量滤去可使图像平滑。 锐化滤波器:它能减弱或消除傅立叶空间的高频分量 空域滤波器都是利用模板卷积,主要步骤如下: (1)将模板在图中漫游,并将模板中心与图中某个像素位置重合; (2)将模板上的系数与模板下对应的像素相乘; (3)将所有的乘积相加; (4)将和(模板的输出响应)赋给图中对应的模板中心位置像素。 下面分别介绍在 MATLAB 中如何应用平滑和锐化滤波器。 4.2.2 线性平滑滤波器 线性低通滤波器是最常用的线性平滑滤波器。这种滤波器的所有系数都是正 的。对 3*3 的模板来说,最简单的操作是取所有系数都为1。为保
18、证输出图像仍 在原来的灰度范围内, 在计算 R后要将其除以 9 再进行赋值。这种方法称为邻域 平均法。 MATLAB 实现均值过滤器的代码所示: 7 I=imread(saturn.tif); J=imnoise(I,salt imshow(I ) figure ,imshow(J) K1=filter2(fspecial(average,3),J)/255; figure,imshow(K1) title(3*3的均值滤波器 ) 原图像,加入椒盐噪声的图像和均值滤波的图像分别如图4-2、图 4-3 和图 4-4 所示。 图 4-3 原图图 4-4 加入椒盐噪声图像 图 4-5 3*3的均值滤
19、波器处理结果 8 4.2.3 非线性平滑滤波器 中值滤波器是最常用的非线性平滑滤波器。它是一种临域运算,类似于卷积, 但计算的不是加权求和, 而是把邻域中的像素按灰度级进行排序,然后选择改组 的中间值作为输出的像素值。具体步骤: (1)将模板在图像中漫游,并将模板中心和图像某个像素的位置重合; (2)读取模板下对应像素的灰度值; (3)将这些灰度值从小到大排成一列; (4)找出这些值排在中间的一个; (5)将这个中间值赋给对应模板中心位置的像素。 MATLAB 实现中值滤波器代码所示: I=imread(saturn.tif); J=imnoise(I,salt K1=medfilt2(J,3
20、,3); figure,imshow(K1) 中值滤波的结果如图4-6 所示。 9 图 4-6 中值滤波结果 4.2.4 线性锐化滤波器 线性高通滤波器是最常用的线性锐化滤波器。这种滤波器的中心系数都是正 的,而周围的系数都是负的。对3*3 的模板来说,典型的系数取值是: -1 1 1;-1 8 1;-1 1 -1 事实上这是拉普拉斯算子,所有的系数之和为0。当这样的模板放在图像中 灰度值是常数或变化很小的区域时,其输出为 0 或很小。这个滤波器将原来的图 像中的零频域分量去除了,也就是将输出的图像的平均值变为0,这样就会有一 部分像素的灰度值小于0。在图像处理中我们一般只考虑正的灰度值,所以
21、还有 将输出图像的灰度值范围通过尺度变回到所要求的范围。 MATLAB 代码所示: I=imread(saturn.tif); m=fspecial(laplacian) I1=filter2(m,I) h=fspecial(unsharp,0.5); I2=filter2(h,I)/255; subplot(1,2,1); imshow(I1); title(高通滤波 laplacian算子) 10 subplot(1,2,2); imshow(I2); title(高通滤波 unsharp) 处理结果如图 4-7 所示: 图 4-7 空域高通滤波 4.3 频域增强 4.3.1 基本原理 卷
22、积理论是频域技术的基础。设函数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)的傅立叶变 换。 频域增强的主要步骤是: (1)技术所需增强图的傅立叶变换; (2)将其与一个(根据需要设计的)转移函数相乘; (3)再将结果进行傅立叶反变换以得到增强的图。 频域增强的两个关键步骤: (1)将图像从空域转换到频域所需的变换及将图像从频域空间转换回空域
23、所需的变换; 11 (2)在频域空间对图像进行增强加工操作。 常用的频域增强方法有低通滤波和高通滤波。以下分别介绍在MATLAB 中如 何实现。 4.3.2 低通滤波 图像的能量大部分集中在幅度谱的低频和中频度,而图像的边缘和噪声对应 于高频部分。因此能降低高频成分幅度的滤波器就能减弱噪声的影响。 Butterworth 低通滤波器是一种物理上可以实现的低通滤波器,n 阶,截断 频率为 d0 的 Butterworth低通滤波器的转移函数为: H(u,v)= n d 2 0/vud1 1 ),( 用 MATLAB 实现 Butterworth低通滤波器的代码所示: I1=imread(Satu
24、rn.tif); figure,imshow(I1) I2=imnoise(I1,salt); figure,imshow(I2) f=double(I2); g=fft2(f); g=fftshift(g); N1,N2=size(g); n=2; d0=50; n1=fix(N1/2); n2=fix(N2/2); for i=1:N1 for j=1:N2 d=sqrt(i-n1)2+(j-n2)2); h=1/(1+0.414*(d/d0)(2*n); result(i,j)=h*g(i,j); end 12 end result=ifftshift(result); X2=ifft2
25、(result); X3=uint8(real(X2); figure,imshow(X3) 原图和处理结果如图4-8 和图 4-9 所示 图 4-8 加噪图 4-9 去噪 4.3.3 高通滤波 高通滤波也称高频滤波器,它的频值在0 频率处单位为 1,随着频率的增长, 传递函数的值逐渐增加;当频率增加到一定值之后传递函数的值通常又回到0 值或者降低到某个大于1 的值。在前一种情况下, 高频增强滤波器实际上是依照 能够带通滤波器,只不过规定0 频率处的增益为单位1。 实际应用中,为了减少图像中面积大且缓慢变化的成分的对比度,有时让0 频率处的增益小于单位1 更合适。 如果传递函数通过原点, 则可
26、以称为 laplacian 滤波器。 n 阶截断频率为 d0 的 Butterworth高通滤波器的转移函数为: H(u,v)= n d 2 vu/0d1 1 ),( MATLAB 实现 Butterworth高通滤波器代码所示: 13 I1=imread(blood1.tif); figure,imshow(I1) f=double(I1); g=fft2(f); g=fftshift(g); N1,N2=size(g); n=2; d0=5; n1=fix(N1/2); n2=fix(N2/2); for i=1:N1 for j=1:N2 d=sqrt(i-n1)2+(j-n2)2);
27、if d=0 h=0; else h=1/(1+(d0/d)(2*n); end result(i,j)=h*g(i,j); end end result=ifftshift(result); X2=ifft2(result); X3=uint8(real(X2); figure,imshow(X3) 原图和处理结果如图4-10 和 4-11 所示。 14 图 4-10 原图图 4-11 原图 15 5 总结 本文主要介绍了数字图像的理论知识及MATLAB 语言的特点 , 基于 MATLAB 的数字 图像处理环境,介绍了如何利用MATLAB 及其图像处理工具箱进行数字图像增强 处理。 参考文献 1 徐明远,刘增力,MATLAB 仿真在信号处理中的应用 ,西安电子科技大学出 版社, 2007.11 2 闫敬文, 数字图像处理 MATLAB 版 ,国防工业出版社, 2007.2 3 周新伦,柳建,数字图像处理,国防工业出版社, 1986.3 4 孙兆林 .MATLAB6.x 图像处理 M. 北京: 清华大学出版社 , 2002. 5 刘卫国 .MATLAB 程序设计与应用 (第二版)M. 北京:高等教育出版社, 2006.
链接地址:https://www.31doc.com/p-5197501.html