数字图像处理课程new_第1页
数字图像处理课程new_第2页
数字图像处理课程new_第3页
数字图像处理课程new_第4页
数字图像处理课程new_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、郑州航空工业管理学院数字图像处理结课论文2013 2014第1学期题 目:基于Matalab的图像对比处理院系:电子通信工程系 姓名 专业:电子信息工程专业 学号: 摘 要数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人们服务。数字图像处理是一种通过计算机基于Visual Bisic、Matalab等软件并采用一定的算法对图形图像进行处理的技术。图像处理的信息量很大,对处理速度的要求也比较高,当今社会数字图像处理技术已经在各个领域上都有了比较广泛的应用。鉴于MATLAB强大的运算和图形展示功

2、能,使图像处理变得更加的简单和直观,所以本文介绍了MATLAB 语言的特点,基于MATLAB的数字图像处理环境及.tif图片格式,具体介绍了如何利用MATLAB及其图像处理工具箱采用imadjust函数、histeq函数、adapthisteq函数三种技术对.tif图片进行对比增强数字图像处理操作。关键词:MATLAB,数字图像处理,图像对比增强目录1. MATLAB基本知识介绍11.1 MATLAB的概述11.2 MATLAB产生的历史背景11.4 MATLAB在图像处理中的应用42. Tif图像格式介绍53. 对灰度图像pout.tif和彩色图像shadow.tif的对比增强处理53.1

3、加载灰度图像pout.tif和彩色图像shadow.tif53.2 调整图像大小53.3 增强灰度图片pout.tif处理53.4 增强彩色图像shadow.tif处理7附录(使用程序)8参考文献91. MATLAB基本知识介绍1.1 MATLAB的概述MATLAB 是MATrix LABoratory(“矩阵实验室”)的缩写,是由美国MathWorks 公司开发的集数值计算、符号计算和图形可视化三大基本功能于一体的,功能强大、操作简单的语言。是国际公认的优秀数学应用软件之一。MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,

4、FORTRAN等语言完相同的事情简捷得多。MATLAB包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类.开放性使MATLAB广受用户欢迎.除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包.1.2 MATLAB产生的历史背景在70年代中期,Cleve Moler博士和其同事在美国国家科学基金的

5、资助下开发了调用EISPACK和LINPACK的FORTRAN子程序库.EISPACK是特征值求解的FOETRAN程序库,LINPACK是解线性方程的程序库.在当时,这两个程序库代表矩阵运算的最高水平.到70年代后期,身为美国New Mexico大学计算机系系主任的Cleve Moler,在给学生讲授线性代数课程时,想教学生使用EISPACK和LINPACK程序库,但他发现学生用FORTRAN编写接口程序很费时间,于是他开始自己动手,利用业余时间为学生编写EISPACK和LINPACK的接口程序.Cleve Moler给这个接口程序取名为MATLAB,该名为矩阵(matrix)和实验室(lab

6、otatory)两个英文单词的前三个字母的组合.在以后的数年里,MATLAB在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传.1983年春天,Cleve Moler到Standford大学讲学,MATLAB深深地吸引了工程师John Little.John Little敏锐地觉察到MATLAB在工程领域的广阔前景.同年,他和Cleve Moler,Steve Bangert一起,用C语言开发了第二代专业版.这一代的MATLAB语言同时具备了数值计算和数据图示化的功能.1984年,Cleve Moler和John Little成立了Math Works公司,正式把MATLAB推

7、向市场,并继续进行MATLAB的研究和开发.在当今30多个数学类科技应用软件中,就软件数学处理的原始内核而言,可分为两大类.一类是数值计算型软件,如MATLAB,Xmath,Gauss等,这类软件长于数值计算,对处理大批数据效率高;另一类是数学分析型软件,Mathematica,Maple等,这类软件以符号计算见长,能给出解析解和任意精确解,其缺点是处理大量数据时效率较低.MathWorks公司顺应多功能需求之潮流,在其卓越数值计算和图示能力的基础上,又率先在专业水平上开拓了其符号计算,文字处理,可视化建模和实时控制能力,开发了适合多学科,多部门要求的新一代科技应用软件MATLAB.经过多年的

8、国际竞争,MATLAB以经占据了数值软件市场的主导地位.在MATLAB进入市场前,国际上的许多软件包都是直接以FORTRANC语言等编程语言开发的。这种软件的缺点是使用面窄,接口简陋,程序结构不开放以及没有标准的基库,很难适应各学科的最新发展,因而很难推广。MATLAB的出现,为各国科学家开发学科软件提供了新的基础。在MATLAB问世不久的80年代中期,原先控制领域里的一些软件包纷纷被淘汰或在MATLAB上重建。时至今日,经过MathWorks公司的不断完善,MATLAB已经发展成为适合多学科,多种工作平台的功能强大大大型软件。在国外,MATLAB已经经受了多年考验。在欧美等高校,MATLAB

9、已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生,硕士生,博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题。在国内,特别是工程界,MATLAB一定会盛行起来。可以说,无论你从事工程方面的哪个学科,都能在MATLAB里找到合适的功能。1.3 MATLAB语言的特点一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MAT

10、LAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB最突出的特点就是简洁。MATLAB用更直观的,符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观,最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。(1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上。(2)运算符丰富。由于MATLAB是用C语言编写的

11、,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。 (3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。(4)程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。(5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。(6)MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。(7)MATLAB的缺点是,它和其他

12、高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。(8)功能强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科。而学科性工具箱是专业性比较强的,如control,toolbox, signl processing toolbox,commumnication toolbox等。这些工具

13、箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。(9) 源程序的开放性。开放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。1.4 MATLAB在图像处理中的应用图像处理工具包是由一系列支持图像处理操作的函数组成的。所支持的图像处理操作有:图像的几何操作、邻域和区域操作、图像变换、图像恢复与增强、线性滤波和滤波器设计、变换(DCT变换等) 、图像分析和统计、二值图像操作等。下面就MATLAB 在图像处理中各

14、方面的应用分别进行介绍。(1) 图像文件格式的读写和显示。MATLAB 提供了图像文件读入函数 imread(),用来读取如:bmp、tif、tiffpcx 、jpg 、gpeg 、hdf、xwd等格式图像文;图像写出函数 imwrite() ,还有图像显示函数 image()、imshow()等等。(2) 图像处理的基本运算。MATLAB 提供了图像的和、差等线性运算 ,以及卷积、相关、滤波等非线性算。例如,conv2(I,J)实现了I,J两幅图像的卷积。(3) 图像变换。MATLAB 提供了一维和二维离散傅立叶变换(DFT) 、快速傅立叶变换(FFT) 、离散余弦变换 (DCT) 及其反变

15、换函数,以及连续小波变换(CWT)、离散小波变换(DWT)及其反变换。(4) 图像的分析和增强。针对图像的统计计算MATLAB 提供了校正、直方图均衡、中值滤波、对比度调整、自适应滤波等对图像进行的处理。(5) 图像的数学形态学处理。针对二值图像,MATLAB 提供了数学形态学运算函数;腐蚀(Erode)、膨胀(Dilate)算子,以及在此基础上的开 (Open)、闭(Close)算子、厚化 (Thicken) 、薄化 (Thin) 算子等丰富的数学形态学运算。以上所提到的 MATLAB在图像中的应用都是由相应的MATLAB函数来实现的,使用时,只需按照函数的调用语法正确输入参数即可。具体的用

16、法可参考MATLAB丰富的帮助文档。图像边缘对图像识别和计算机分析十分有用,在MATLAB中,函数 edge()用于灰度图像边缘的提取,它支持六种不同的边缘提取方法,即Sobel方法、Prewitt 方法、Robert 方法,Laplacian2Gaussian方法、过零点方法和Canny方法。2. Tif图像格式介绍TIFF是一种比较灵活的图像格式,它的全称是Tagged Image File Format,文件扩展名为TIF或TIFF。TIFF 格式(文件扩展名为 .tif 或 .tiff)可以制作质量非常高的图像,因而经常用于出版印刷。该格式支持256色、24位真彩色、32位色、48位色

17、等多种色彩位,同时支持RGB、CMYK以及YCbCr等多种色彩模式,支持多平台,它可以显示上百万的颜色(尽管灰度图像仅局限于 256 色或底纹),通常用于比 GIF 或 JPEG 格式更大的图像文件。TIFF文件可以是不压缩的,文件体积较大,也可以是压缩的,支持RAW、RLE、LZW、JPEG、 CCITT3组和4组等多种压缩方式。IFF格式(Tag Image File Format)是Macintosh上广泛使用的图形格式,具有图形格式复杂、存贮信息多的特点。3DS、3DS MAX中的大量贴图就是TIFF格式的。TIFF最大色深为32bit,可采用LZW无损压缩方案存储。多种程序都可以识别

18、它,故在本次图像处理中采用.tif格式的图片。3.对灰度图像pout.tif和彩色图像shadow.tif的对比增强处理3.1 加载灰度图像pout.tif和彩色图像shadow.tifpout = imread(pout.tif);X map = imread(shadow.tif);shadow = ind2rgb(X,map); 3.2 调整图像大小width = 210;images = pout,shadow;for k = 1:2 dim = size(imagesk); imagesk = imresize(imagesk,width*dim(1)/dim(2) width,bi

19、cubic);endpout = images1;shadow = images2;3.3 增强灰度图片pout.tif处理 处理结果如图3.3.1-图3.3.5所示pout_imadjust = imadjust(pout);pout_histeq = histeq(pout);pout_adapthisteq = adapthisteq(pout);imshow(pout);title(Original);figure, imshow(pout_imadjust);title(Imadjust);figure, imshow(pout_histeq);title(Histeq);figur

20、e, imshow(pout_adapthisteq);title(Adapthisteq);figure, imhist(pout), title(pout.tif);图3.3.53.4 增强彩色图像shadow.tif处理处理结果如图3.4.1-图3.4.4所示srgb2lab = makecform(srgb2lab);lab2srgb = makecform(lab2srgb);shadow_lab = applycform(shadow, srgb2lab);max_luminosity = 100;L = shadow_lab(:,:,1)/max_luminosity;shado

21、w_imadjust = shadow_lab;shadow_imadjust(:,:,1) = imadjust(L)*max_luminosity;shadow_imadjust = applycform(shadow_imadjust, lab2srgb);shadow_histeq = shadow_lab;shadow_histeq(:,:,1) = histeq(L)*max_luminosity;shadow_histeq = applycform(shadow_histeq, lab2srgb);shadow_adapthisteq = shadow_lab;shadow_ad

22、apthisteq(:,:,1) = adapthisteq(L)*max_luminosity;shadow_adapthisteq = applycform(shadow_adapthisteq, lab2srgb);figure, imshow(shadow);title(Original);figure, imshow(shadow_imadjust);title(Imadjust);figure, imshow(shadow_histeq);title(Histeq);figure, imshow(shadow_adapthisteq);title(Adapthisteq);附录(使

23、用程序)pout = imread(pout.tif);X map = imread(shadow.tif);shadow = ind2rgb(X,map); width = 210;images = pout,shadow;for k = 1:2 dim = size(imagesk); imagesk = imresize(imagesk,width*dim(1)/dim(2) width,bicubic);endpout = images1;shadow = images2;pout_imadjust = imadjust(pout);pout_histeq = histeq(pout)

24、;pout_adapthisteq = adapthisteq(pout);imshow(pout);title(Original);figure, imshow(pout_imadjust);title(Imadjust);figure, imshow(pout_histeq);title(Histeq);figure, imshow(pout_adapthisteq);title(Adapthisteq);figure, imhist(pout), title(pout.tif);srgb2lab = makecform(srgb2lab);lab2srgb = makecform(lab2srgb);shadow_lab = applycform(sha

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论