当前位置:文档之家› 地对比度图像增强及其MATLAB实现——毕设论文

地对比度图像增强及其MATLAB实现——毕设论文

地对比度图像增强及其MATLAB实现——毕设论文
地对比度图像增强及其MATLAB实现——毕设论文

毕业设计报告(论文)

报告(论文)题目:低对比度图像增强处理及其

MATLAB实现

作者所在系部:电子工程系

作者所在专业:电子信息工程

作者所在班级:

作者姓名:

作者学号:

指导教师姓名:

完成时间: 2013年6月20日

北华航天工业学院教务处制

北华航天工业学院

北华航天工业学院

本科生毕业设计(论文)原创性及知识产权声明

本人郑重声明:所呈交的毕业设计(论文)低对比度图像增强处理及其

MATLAB实现

是本人在指导教师的指导下,独立进行研究工作取得的成果。除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品或成果。对本设计(论文)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。因本毕业设计(论文)引起的法律结果完全由本人承担。

本毕业设计(论文)成果归北华航天工业学院所有。本人遵循北华航天工业学院有关毕业设计(论文)的相关规定,提交毕业设计(论文)的印刷本和电子版本。本人同意北华航天工业学院有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;可以采用影印、缩印、数字化或其它复制手段保存论文;在不以营利为目的的前提下,可以公布非涉密毕业设计(论文)的部分或全部内容。

特此声明

毕业设计(论文)作者:指导教师:

年月日年月日

摘要

数字图像处理是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。图像増强是数字图像处理的过程中经常釆用的一种方法,它对提高图像质量起着重要的作用。本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、对比度增强、等几种常用的増强方法的理论基础,通过Matlab实验得出的实际处理效果來对比各种算法的优缺点,讨论不同的增强算法的技术要点,并对其图像增强方法进行性能评价。

关键词:图像增强直方图增强对比度增强MATLAB

Abstract

Digital image processing means converts the image signal into a digital form and processed by computer process them. Increase intensity image is a digital image processing process often preclude the use of a method of improving image quality it plays an important role. This article first for an overview of the principles of image enhancement, and image enhancement methods for classification and gives the histogram enhancement, contrast enhancement, such as several commonly used methods Increase strong theoretical foundation, through Matlab experimental results to compare the actual treatment effect the advantages and disadvantages of various algorithms, discuss different techniques enhancement algorithm, and its performance evaluation image enhancement methods.

Key words:Image Enhancement Histogram enhancement Contrast Enhancement MATLAB

目录

第1章绪论 (1)

1.1图像增强背景及意义 (1)

1.2国内外研究现状 (1)

1.3图像增强的应用 (2)

第2章数字图像的基本概念 (3)

2.1数字图像的表示 (3)

2.2图像的灰度变换 (3)

2.2.1图像的灰度 (3)

2.3灰度直方图 (4)

2.3.1灰度直方图 (4)

第3章图像增强的基本理论 (5)

3.1图像增强的定义 (5)

3.2图像增强的分类及方法 (5)

3.3常用的图像增强方法 (6)

第4章MATLAB基本知识介绍 (7)

4.1MATLAB的概述 (7)

4.2MATLAB产生的历史背景 (7)

4.3MATLAB语言的特点 (8)

4.4MATLAB在图像处理中的应用 (9)

第5章图像增强方法及算法 (11)

5.1直方图增强 (11)

5.1.1直方图 (11)

5.1.2直方图均衡化 (12)

5.2 对比度增强 (14)

5.2.1灰度调整 (14)

5.2.2G AMMA校正 (15)

第6章结论 (16)

致谢 (18)

参考文献 (19)

低对比度图像增强及其MATLAB实现

第1章绪论

1.1图像增强背景及意义

在一般情况下,经过图像的传送和转换,如成像、复制、扫描、传输和显示等,经常会造成图像质量的下降,即图像失真。在摄影时由于光照条件不足或过度,会使图像过暗或过亮;光学系统的失真、相对运动、大气流动等都会使图像模糊,传输过程中会引入各种类型的噪声。总之输入的图像在视觉效果和识别方便性等方面可能存在诸多问题,这类问题不妨统称为质量问题。图像增强是指根据特定的需要突出图像中的重要信息,同时减弱或去除不需要的信息。从不同的途径获取的图像,通过进行适当的增强处理,可以将原本模糊不清甚至根本无法分辨的原始图像处理成清晰的富含大量有用信息的可使用图像,有效地去除图像中的噪声、增强图像中的边缘或其他感兴趣的区域,从而更加容易对图像中感兴趣的目标进行检测和测量。处理后的图像是否保持原状已经是无关紧要的了,不会因为考虑到图像的一些理想形式而去有意识的努力重现图像的真实度。图像增强的目的是增强图像的视觉效果,将原图像转换成一种更适合于人眼观察和计算机分析处理的形式。增强的效果通常都与具体的图像有关系,靠人的主观感觉加以评价。般要借助人眼的视觉特性,以取得看起来较好地视觉效果,很少涉及客观和统一的评价

1.2 国内外研究现状

数字图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。数字图像处理作为一门学科大约形成于20世纪60年代初期。

早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。首次获得实际成功应用的是美国喷气推进实验室(JPL)。他们对航天探测器徘徊者7号在1964年发回的几千张月球照片使用了图像处理技术,如几何校正、灰度变换、去除噪声等方法进行处理,并考虑了太阳位置和月球环境的影响,由计算机成功地绘制出月球表面地图,获得了巨大的成功。随后又对探测飞船发回的近十万张照片进行更为复杂的图像处理,以致获得了月球的地形图、彩色图及全景镶嵌图,获得了非凡的成果,为人类登月创举奠定了坚实的基础,也推动了

数字图像处理这门学科的诞生。在以后的宇航空间技术,如对火星、土星等星球的探测研究中,数字图像处理技术都发挥了巨大的作用。数字图像处理取得的另一个巨大成就是在医学上获得的成果。1972年英国EMI公司工程师Housfield发明了用于头颅诊断的X射线计算机断层摄影装置,也就是我们通常所说的CT(ComputerTomograph)。CT 的基本方法是根据人的头部截面的投影,经计算机处理来重建截面图像,称为图像重建。1975年EMI公司又成功研制出全身用的CT装置,获得了人体各个部位鲜明清晰的断层图像。1979年,这项无损伤诊断技术获得了诺贝尔奖,说明它对人类作出了划时代的贡献。

与此同时,图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,属于这些领域的有航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,使图像处理成为一门引人注目、前景远大的新型学科。随着图像处理技术的深入发展,从70年代中期开始,随着计算机技术和人工智能、思维科学

研究的迅速发展,数字图像处理向更高、更深层次发展。人们已开始研究如何用计算机系统解释图像,实现类似人类视觉系统理解外部世界,这被称为图像理解或计算机视觉。很多国家,特别是发达国家投入更多的人力、物力到这项研究,取得了不少重要的研究成果。其中代表性的成果是70年代末MIT的Marr提出的视觉计算理论,这个理论成为计算机视觉领域其后十多年的主导思想。图像理解虽然在理论方法研究上已取得不小的进展,但它本身是一个比较难的研究领域,存在不少困难,因人类本身对自己的视觉过程还了解甚少,因此计算机视觉是一个有待人们进一步探索新的领域。

1.3 图像增强的应用

目前图像增强处理的应用已经渗透到医学诊断、航空航天、军事侦察、指纹识别、无损探伤、卫星图片的处理等领域。如对x射线图片、CT影像、内窥镜图像进行增强,使医生更容易从中确定病变区域,从图像细节区域中发现问题;对不同时间拍摄的同一地区的遥感图片进行增强处理,侦查是否有敌人军事调动或军事装备及建筑出现;在煤矿工业电视系统中采用增强处理来提高工业电视图像的清晰度,克服因光线不足、灰尘等原因带来的图像模糊、偏差等现象,减少电视系统维护的工作量。图像增强技术的快速发展同它的广泛应用是分不开的,发展的动力来自稳定涌现的新的应用,我们可以预料,在未来社会中图像增强技术将会发挥更为重要的作用。

?????

???????)1-,3-()1-,1()1-,0(...)1,2-(............)1,1()1,0()0,1-(...)0,1()0,0(N M f N f N f M f f f M f f f 第2章 数字图像的基本概念

2.1 数字图像的表示

图像并不能直接用计算机来处理,处理前必须先转化成数字图像。早期一般用picture 代表图像,随着数字技术的发展,现在都用image 代表离散化了的数字图像。

我们一般常用矩阵来表示数字图像,设x ∈[0,M-1] ,y ∈[0,N-1] ,f ∈[0,-1],则数字图像f (x ,y )可表示成一个M ×N 的二维数字阵列,即

[ f(x,y) ] =

这里x 和y 表示二维空间XY 中一个坐标点的位置,而f 则代表图像在点),(y x 的某种性质数值。为了能够用计算机对图像进行处理,需要坐标空间和性质空间都离散化。这种离散化了的图像都是数字图像,即),(y x f 都在整数集合中取值。其中,每个(x,y)对应数组图像中的一个基本单元,称其为图像元素(picture element),简称为像素(pixel);

显然,数字化以后的数字图像是一个M ×N 的数字矩阵。

2.2 图像的灰度变换

灰度变换是一种逐像素点对图像进行变换的增强方法,所以也成为图像的点运算。设用f 表示输入图像f (x ,y )在(x ,y )处的像素值,用g 表示变换后的输出图像g (x ,y )的像素值,T[·]表示对f (x ,y )的点运算操作,则灰度变换可以办地定义为

g =T [ f ]

2.2.1图像的灰度

常用的图像一般是灰度图,这时f 表示灰度值,反映了图像上对应点的亮度。亮度是观察者对所看到的物体表面反射光强的量度。作为图像灰度的量度函数),(y x f 应大于零。人们日常看到的图像一般是从目标上反射出来的光组成的,所以),(y x f 可看成由两部分构成:入射到可见场景上光的量;场景中目标对反射光反射的比率。确切地说它们分别称为照度成分),(y x i 和反射成分),(y x r 。),(y x f 与),(y x i 和),(y x r 都成正比,可表示成),(y x f =),(y x i ×),(y x r 。

将二维坐标位置函数),(y x f 称为灰度。入射光照射到物体表面的能量是有限的,并且它永远为正,即0<),(y x i < ;反射系数为0时,表示光全部被物体吸收,反射系数为1时,表示光全部被物体反射,反射系数在全吸收和全反射之间,即0<),(y x r <1。因此图像的灰度值也是非负有界的。

2.2.2对数变换

对数变换的公式表示形式为: g=c ·log (1+f );

其中,c 是一个常数。对数变换常常用于图像动态范围的压缩,主要用于调高输入图像的低灰度值。

2.2.3 对比度拉伸

在实际中,由于照明不足、成像传感器动态范围太小或透镜光圈等因素的影响,会是获得的图像的对比度不理想。对比度拉伸是一种通过增强图像中各部分的反差来增强图像的方法,在实际中是通过增加原图像中的某些灰度值之间的动态范围来实现的。对比度拉伸可根据应用目的的不同设计出不同的变换函数。

2.3 灰度直方图

2.3.1 灰度直方图

在数字图像处理中,灰度直方图是一种描述一幅图像中灰度级内容的最简单、最有用的工具,也是对图像进行多种处理的基础。图像的灰度直方图是一种表示数字图像中各级灰度值及其出现频数关系的函数。描述图像灰度直方图的二维坐标,其横坐标表示像素的灰度级别,纵坐标表示该灰度出现的频率(像素的个数)。

设一幅数字图像的灰度级范围为[0,L-1],则该图像的灰度直方图可定义为

h (r k )=n k ,k=0,1,2,…,L-1

其中,r k 表示第k 级灰度值,h (r k )和n k 表示图像中灰度值为r k 的像素个数

2.3.2 灰度直方图归一化,把直方图上每一级灰度值的计数除以所有灰度级的计数之和,就得到了归一化直方图。之所以叫“归一”,是因为归一化直方图的所有灰度级的计数之和为1,也就是说,每个灰度级对应计数都是0到1之间的一个数(百分比)。

例如:假设原图像是8位灰度图像,那么读入的像素矩阵最大值为256,最小值为1 ,定义矩阵为I J =I /256,就是归一化的图像矩阵,就是说归一化之后所有的像素值都在[0,1]区间内。

第3章图像增强的基本理论

3.1 图像增强的定义

为了改善视觉效果或者便于人和机器对图像的理解和分析,根据图像的特点或存在的问题采取的简单改善方法或者加强特征的措施称为图像增强。

一般情况下,图像增强是按特定的需要突出一幅图像中的某些信息,同时削弱或去除某些不需要的信息的处理方法,也是提高图像质量的过程。图像增强的目的是使图像的某些特性方面更加鲜明、突出,使处理后的图像更适合人眼视觉特性或机器分析,以便于实现对图像的更高级的处理和分析。图像增强的过程往往也是一个矛盾的过程:图像增强希望既去除噪声又增强边缘。但是,增强边缘的同时会同时增强噪声,而滤去噪声又会使边缘在一定程度上模糊,因此,在图像增强的时候,往往是将这两部分进行折中,找到一个好的代价函数达到需要的增强换,直方图均衡,中值滤波,微分锐化,高通滤波等等。这样对应于某些局部区域的细节在计算整幅图的变换时其影响因为其值较小而常常被忽略掉,从而局部区域目的。传统的图像增强算法在确定转换函数时常是基于整个图像的统计量,如:ST转的增强效果常常不够理想,噪声滤波和边缘增强这两者的矛盾较难得到解决。

3.2 图像增强的分类及方法

图像增强可分成两大类:频率域法和空间域法。前者把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强。采用低通滤波(即只让低频信号通过)法,可去掉图中的噪声;采用高通滤波法,则可增强边缘等高频信号,使模糊的图片变得清晰。具有代表性的空间域算法有局部求平均值法和中值滤波(取局部邻域中的中间像素值)法等,它们可用于去除或减弱噪声。

图像增强的方法是通过一定手段对原图像附加一些信息或变换数据,有选择地突出图像中感兴趣的特征或者抑制(掩盖)图像中某些不需要的特征,使图像与视觉响应特性相匹配。在图像增强过程中,不分析图像降质的原因,处理后的图像不一定逼近原始图像。图像增强技术根据增强处理过程所在的空间不同,可分为基于空域的算法和基于频域的算法两大类。基于空域的算法处理时直接对图像灰度级做运算基于频域的算法是在图像的某种变换域内对图像的变换系数值进行某种修正,是一种间接增强的算法。

基于空域的算法分为点运算算法和邻域去噪算法。点运算算法即灰度级校正、灰度变换和直方图修正等,目的或使图像成像均匀,或扩大图像动态范围,扩展对比度。邻域增强算法分为图像平滑和锐化两种。平滑一般用于消除图像噪声,但是也容易引起边

缘的模糊。常用算法有均值滤波、中值滤波。锐化的目的在于突出物体的边缘轮廓,便于目标识别。常用算法有梯度法、算子、高通滤波、掩模匹配法、统计差值法等。

3.3 常用的图像增强方法

1.直方图均衡化

有些图像在低值灰度区间上频率较大,使得图像中较暗区域中的细节看不清楚。这时可以通过直方图均衡化将图像的灰度范围分开,并且让灰度频率较小的灰度级变大,通过调整图像灰度值的动态范围,自动地增加整个图像的对比度,使图像具有较大的反差,细节清晰。

2.对比度增强法

有些图像的对比度比较低,从而使整个图像模糊不清。这时可以按一定的规则修改原来图像的每一个象素的灰度,从而改变图像灰度的动态范围。

3.平滑噪声

有些图像是通过扫描仪扫描输入、或传输通道传输过来的。图像中往往包含有各种各样的噪声。这些噪声一般是随机产生的,因此具有分布和大小不规则性的特点。这些噪声的存在直接影响着后续的处理过程,使图像失真。图像平滑就是针对图像噪声的操作,其主要作用是为了消除噪声,图像平滑的常用方法是采用均值滤波或中值滤波,均值滤波是一种线性空间滤波,它用一个有奇数点的掩模在图像上滑动,将掩模中心对应像素点的灰度值用掩模内所有像素点灰度的平均值代替,如果规定了在取均值过程中掩模内各像素点所占的权重,即各像素点所乘系数,这时就称为加权均值滤波;中值滤波是一种非线性空间滤波,其与均值滤波的区别是掩模中心对应像素点的灰度值用掩模内所有像素点灰度值的中间值代替。

4.锐化

平滑噪声时经常会使图像的边缘变的模糊,针对平均和积分运算使图像模糊,可对其进行反运算采取微分算子使用模板和统计差值的方法,使图像增强锐化。图像边缘与高频分量相对应,高通滤波器可以让高频分量畅通无阻,而对低频分量则充分限制,通过高通滤波器去除低频分量,也可以达到图像锐化的目的。

第4章 MATLAB基本知识介绍

4.1 MATLAB的概述

MATLAB是MATrix LABoratory(“矩阵实验室”)的缩写,是由美国MathWorks 公司开发的集数值计算、符号计算和图形可视化三大基本功能于一体的,功能强大、操作简单的语言。是国际公认的优秀数学应用软件之一。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN 等语言完相同的事情简捷得多。

MATLAB包括拥有数百个内部函数的主包和三十几种工具包(Toolbox)。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。

开放性使MATLAB广受用户欢迎。除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。

4.2 MATLAB产生的历史背景

在70 年代中期,Cleve Moler 博士和其同事在美国国家科学基金的资助下开发了调用EISPACK和LINPACK的FORTRAN子程序库。EISPACK是特征值求解的FOET RAN程序库,LINPACK是解线性方程的程序库。在当时,这两个程序库代表矩阵运算的最高水平。

到70年代后期,身为美国New Mexico大学计算机系系主任的Cleve Moler,在给学生讲授线性代数课程时,想教学生使用EISPACK和LINPACK程序库,但他发现学生用FORTRAN 编写接口程序很费时间,于是他开始自己动手,利用业余时间为学生编写EISPACK 和LINPACK的接口程序。Cleve Moler 给这个接口程序取名为MATLA B,该名为矩阵(matrix)和实验室(labotatory) 两个英文单词的前三个字母的组合。在以后的数年里,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 推向市场,并继续进行MATLAB的研究和开发。

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

在 MATLAB进入市场前,国际上的许多软件包都是直接以FORTRANC 语言等编程语言开发的。这种软件的缺点是使用面窄,接口简陋,程序结构不开放以及没有标准的基库,很难适应各学科的最新发展,因而很难推广。MATLAB的出现,为各国科学家开发学科软件提供了新的基础。在 MATLAB 问世不久的80年代中期,原先控制领域里的一些软件包纷纷被淘汰或在MATLAB上重建。

时至今日,经过MathWorks 公司的不断完善,MATLAB已经发展成为适合多学科,多种工作平台的功能强大大大型软件。在国外,MATLAB已经经受了多年考验。在欧美等高校,MATLAB 已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生,硕士生,博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB 被广泛用于科学研究和解决各种具体问题。在国内,特别是工程界,MATLAB 一定会盛行起来。可以说,无论你从事工程方面的哪个学科,都能在MATLAB里找到合适的功能。

4.3 MATLAB 语言的特点

一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,正如同FORTRAN 和C 等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB最突出的特点就是简洁。MATLAB用更直观的,符合人们思维习惯的代码,代替了C 和FORTRAN 语言的冗长代码。MATLAB给用户带来的是最直观,最简洁的程序开发环境。以下简单介绍一下MATLAB 的主要特点。

(1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用 MATLAB 进行科技开发是站在专家的肩膀上。

(2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。

(3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和 if 语句),又有面向对象编程的特性。

(4)程序限制不严格,程序设计自由度大。例如,在 MATLAB 里,用户无需对矩阵预定义就可使用。

(5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。

(6)MATLAB 的图形功能强大。在FORTRAN 和C 语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。

(7)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB 的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。

(8)功能强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科。而学科性工具箱是专业性比较强的如control,toolbox, signal processing toolbox, communication toolbox 等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。

(9)源程序的开放性。开放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。

4.4 MATLAB 在图像处理中的应用

MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。

图像处理工具包是由一系列支持图像处理操作的函数组成的。所支持的图像处理

操作有:图像的几何操作、邻域和区域操作、图像变换、图像恢复与增强、线性滤波和滤波器设计、变换(DCT 变换等)、图像分析和统计、二值图像操作等。下面就 MATLAB 在图像处理中各方面的应用分别进行介绍。

(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)及其反变换函数,以及连续小波变换(CWT)、离散小波变换(DWT)及其反变换。

(4)图像的分析和增强。针对图像的统计计算 MATLAB提供了校正、直方图均衡、中值滤波、对比度调整、自适应滤波等对图像进行的处理。

(5)图像的数学形态学处理。针对二值图像,MATLAB提供了数学形态学运算函数;腐蚀(Erode)、膨胀(Dilate)算子,以及在此基础上的开(Open)、闭(Close)算子、厚化(Thicken)、薄化(Thin)算子等丰富的数学形态学运算。

以上所提到的 MATLAB在图像中的应用都是由相应的 MATLAB函数来实现的,使用时,只需按照函数的调用语法正确输入参数即可。具体的用法可参考 MATLAB丰富的帮助文档。图像边缘对图像识别和计算机分析十分有用,在 MATLAB中,函数edge()用于灰度图像边缘的提取,它支持六种不同的边缘提取方法,即 Sobel 方法、Prewitt 方法、Robert方法,Laplacian2Gaussian 方法、过零点方法和Canny方法。

第5章图像增强方法及算法

5.1 直方图增强

灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特征更加明显。灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像增强。

5.1.1 直方图

图像的直方图是图像的重要统计特征,它可以认为是图像灰度密度函数的近似。图像的灰度直方图是反映一幅图像的灰度级与出现这种灰度级的概率之间的关系的图形。数字图像的直方图是作为图像每一个灰度级的统计概率分布 ,它提供了图像灰度分布的概貌 ,直方图增强技术正是利用修改给定图像直方图的方法来增强图像的 ,最后得到的图像增强程度取决于我们所采用的直方图。

灰度直方图是离散函数,一般的来讲,要精确的得到图像的灰度密度函数是比较困难的,在实际中,可以使数字图像灰度直方图来代替。归纳起来,直方图主要有一下几点性质:

(1)直方图中不包含位置信息。直方图只是反应了图像灰度分布的特性,和灰度所在的位置没有关系,不同的图像可能具有相近或者完全相同的直方图分布。

(2)直方图反应了图像的整体灰度。直方图反应了图像的整体灰度分布情况,对于暗色图像,直方图的组成集中在灰度级低(暗)的一侧,相反,明亮图像的直方图则倾向于灰度级高的一侧。直观上讲,可以得出这样的结论,若一幅图像其像素占有全部可能的灰度级并且分布均匀,这样的图像有高对比度和多变的灰度色调。

(3)直方图的可叠加性。一幅图像的直方图等于它各个部分直方图的和。

(4)直方图具有统计特性。从直方图的定义可知,连续图像的直方图是一位连续函数,它具有统计特征,例如矩、绝对矩、中心矩、绝对中心矩、熵。

(5)直方图的动态范围。直方图的动态范围是由计算机图像处理系统的模数转换器的灰度级决定。

MATLAB图像处理工具箱提供了imhist函数来计算和显示图像的直方图,灰度直方图是灰度值的函数,描述的是图像中具有该灰度值的像素的个数,灰度直方图如图5.1所示,(b)为图像(a)的灰度直方图,其横坐标表示像素的灰度级别,纵坐标表示该灰度出现的频率(像素的个数)。

当图像对比度较小时,它的灰度直方图只在灰度轴上较小的一段区间上非零,较暗的图像由于较多的像素灰度值低,因此它的直方图的主体出现在低值灰度区间上,其在高值灰度区间上的幅度较小或为零,而较亮的图像情况正好相反。

5.1.2 直方图均衡化

1.直方图均衡的基本思想

大多数原始的遥感图像由于其灰度分布集中在较窄的范围内,使图像的细节不够清晰,对比度较低。为了使图像的灰度范围拉开或使灰度均匀分布,从而增大反差,使图像细节清晰,以达到增强的目的,通常采用直方图均衡化及直方图规定化两种变换。本文主要介绍直方图均衡化并进行实验。直方图均衡化(Histogram Equalization)又称直方图平坦化,实质上是对图像进行非线性拉伸,重新分配图像象元值,使一定灰度范围内象元值的数量大致相等。这样,原来直方图中间的峰顶部分对比度得到增强,而两侧的谷底部分对比度降低,输出图像的直方图是一个较平的分段直方图:如果输出数据分段值较小的话,会产生粗略分类的视觉效果。

所谓直方图均衡,就是把一已知灰度概率分布的图像,变换成具有均匀概率分布的新图像的过程。直方图均衡化质上是对图像进行非线性拉伸,重新分配图像象元值,使一定灰度范围内象元值的数量大致相等。这样,原来直方图中间的峰顶部分对比度得到增强,而两侧的谷底部分对比度降低,输出图像的直方图是一个较平的分段直方图:如果输出数据分段值较小的话,会产生粗略分类的视觉效果。假设灰度级为归一化至范围[0,1]内的连续量,并令 Pr (r)表示某给定图像中的灰度级的概率密度函数(PDF),其下标用来区分输入图像和输出图像的 PDF。假设我们对输入灰度级执行如下变换,得到(处理后的)输出灰度级 s。

设r为待增强的原图像的归一化灰度值,s为增强后的新图像的归一化灰度值,且0≤

p(r)。

r,s≤1;n(r)为原图像中灰度值为r的像素的个数,其概率分布密度为

r 显然,基于上述思想的直方图均衡变换函数

s=T(r),0≤r≤1

的选取应满足如下条件

(1) T(r)在区间0≤r≤1中为单值单调增加函数。

(2)对于0≤r≤1,有0≤T(r)≤1,也即0≤s≤1。

在上述条件中,条件(1)对T(r)的单值要求保证了反变换的存在;对T(r)的单调要求保证了输出图像从黑经灰到白的次序不变。条件(2)保证了输出灰度级与输入灰度级有相同的范围。

换言之,前述变换生成一幅图像,该图像的灰度级较为均衡化,且覆盖了整个范围

matlab图像处理的几个实例

Matlab图像处理的几个实例(初学者用) 1.图像的基本信息及其加减乘除 clear,clc; P=imread('yjx.jpg'); whos P Q=imread('dt.jpg'); P=im2double(P); Q=im2double(Q); gg1=im2bw(P,0.3); gg2=im2bw(P,0.5); gg3=im2bw(P,0.8); K=imadd(gg1,gg2); L=imsubtract(gg2,gg3); cf=immultiply(P,Q); sf=imdivide(Q,P); subplot(421),imshow(P),title('郁金香原图'); subplot(422),imshow(gg1),title('0.3'); subplot(423),imshow(gg2),title('0.5'); subplot(424),imshow(gg3),title('0.8'); subplot(425),imshow(K),title('0.3+0.5'); subplot(426),imshow(L),title('0.5-0.3'); subplot(427),imshow(cf),title('P*Q'); subplot(428),imshow(sf),title('P/Q'); 2.图像缩放 clear,clc; I=imread('dt.jpg'); A=imresize(I,0.1,'nearest'); B=imresize(I,0.4,'bilinear'); C=imresize(I,0.7,'bicubic'); D=imresize(I,[100,200]); F=imresize(I,[400,100]); figure subplot(321),imshow(I),title('原图'); subplot(322),imshow(A),title('最邻近插值'); subplot(323),imshow(B),title('双线性插值'); subplot(324),imshow(C),title('二次立方插值'); subplot(325),imshow(D),title('水平缩放与垂直缩放比例为2:1'); subplot(326),imshow(F),title('水平缩放与垂直缩放比例为1:4');

基于Matlab基本图像处理程序

图像读入 ●从图形文件中读入图像 imread Syntax: A = imread(filename, fmt) filename:指定的灰度或彩色图像文件的完整路径和文件名。 fmt:指定图形文件的格式所对应的标准扩展名。如果imread没有找到filename所制定的文件,会尝试查找一个名为filename.fmt的文件。 A:包含图像矩阵的矩阵。对于灰度图像,它是一个M行N列的矩阵。如果文件包含 RGB真彩图像,则是m*n*3的矩阵。 ●对于索引图像,格式[X, map] = imread(filename, fmt) X:图像数据矩阵。 MAP:颜色索引表 图像的显示 ●imshow函数:显示工作区或图像文件中的图像 ●Syntax: imshow(I) %I是要现实的灰度图像矩阵 imshow(I,[low high],param1, val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map) %map颜色索引表 imshow(filename) himage = imshow(...) ●操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据 imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图 像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像

基于MATLAB的图像处理的基本运算

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 基于MATLAB的图像处理的基本运算 初始条件: 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)能够对图像亮度和对比度变化调整,并比较结果 (2)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的和旋转操作,并保存,比较几 种插值的效果 (3)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。 (4)对图像加入各种噪声,比较效果。 时间安排: 指导教师签名:年月日 系主任(或责任教师)签名:年月日 目录 摘要.......................................................................................................................... 错误!未定义书签。 1 MATLAB简介 ........................................................................................................ 错误!未定义书签。2图像选择及变换................................................................................................... 错误!未定义书签。 2.1 原始图像选择读取....................................................................................... 错误!未定义书签。 2.1.1 原理图的读入与基本变换 .................................................................... 错误!未定义书签。

MATLAB图像增强总结程序

MATLAB图像增强程序举例 1.灰度变换增强程序: % GRAY TRANSFORM clc; I=imread('pout.tif'); imshow(I); J=imadjust(I,[0.3 0.7],[0 1],1); %transforms the walues in the %intensity image I to values in J by linealy mapping %values between 0.3 and 0.7 to values between 0 and 1. figure; imshow(J); J=imadjust(I,[0.3 0.7],[0 1],0.5); % if GAMMA is less than 1,the mapping si weighted to ward higher (brighter) %output values. figure; imshow(J); J=imadjust(I,[0.3 0.7],[0 1],1.5); % if GAMMA is greater than 1,the mapping si weighted toward lower (darker) %output values. figure; imshow(J) J=imadjust(I,[0.3 0.7],[0 1],1); % If TOP

2.直方图灰度变换 %直方图灰度变换 [X,map]=imread('forest.tif'); I=ind2gray(X,map);%把索引图像转换为灰度图像 imshow(I); title('原图像'); improfile%用鼠标选择一条对角线,显示线段的灰度值 figure;subplot(121) plot(0:0.01:1,sqrt(0:0.01:1)) axis square title('平方根灰度变换函数') subplot(122) maxnum=double(max(max(I)));%取得二维数组最大值 J=sqrt(double(I)/maxnum);%把数据类型转换成double,然后进行平方根变换%sqrt函数不支持uint8类型 J=uint8(J*maxnum);%把数据类型转换成uint8类型

图像处理实例(含Matlab代码)

信号与系统实验报告——图像处理 学院:信息科学与工程学院 专业:2014级通信工程 组长:** 组员:** 2017.01.02

目录 目录 (2) 实验一图像一的细胞计数 (3) 一、实验内容及步骤 (3) 二、Matlab程序代码 (3) 三、数据及结果 (4) 实验二图像二的图形结构提取 (5) 一、实验内容及步骤 (5) 二、Matlab程序代码 (5) 三、数据及结果 (6) 实验三图像三的图形结构提取 (7) 一、实验内容及步骤 (7) 二、Matlab程序代码 (7) 三、数据及结果 (8) 实验四图像四的傅里叶变化及巴特沃斯低通滤波 (9) 一、实验内容及步骤 (9) 二、Matlab程序代码 (9) 三、数据及结果 (10) 实验五图像五的空间域滤波与频域滤波 (11) 一、实验内容及步骤 (11) 二、Matlab程序代码 (11) 三、数据及结果 (12)

实验一图像一的细胞计数 一、实验内容及步骤 将该图形进行一系列处理,计算得到途中清晰可见细胞的个数。 首先,由于原图为RGB三色图像处理起来较为麻烦,所以转为灰度图,再进行二值化化为黑白图像,得到二值化图像之后进行中值滤波得到细胞分布的初步图像,为了方便计数对图像取反,这时进行一次计数,发现得到的个数远远多于实际个数,这时在进行一次中值滤波,去掉一些不清晰的像素点,剩下的应该为较为清晰的细胞个数,再次计数得到大致结果。 二、Matlab程序代码 clear;close all; Image = imread('1.jpg'); figure,imshow(Image),title('原图'); Image=rgb2gray(Image); figure,imshow(Image),title('灰度图'); Theshold = graythresh(Image); Image_BW = im2bw(Image,Theshold); Reverse_Image_BW22=~Image_BW; figure,imshow(Image_BW),title('二值化图像'); Image_BW_medfilt= medfilt2(Image_BW,[3 3]); figure,imshow(Image_BW_medfilt),title('中值滤波后的二值化图像'); Reverse_Image_BW = ~Image_BW_medfilt; figure,imshow(Reverse_Image_BW),title('图象取反'); Image_BW_medfilt2= medfilt2(Reverse_Image_BW,[20 20]); figure,imshow(Image_BW_medfilt2),title('第二次中值滤波的二值化图像'); [Label, Number]=bwlabel(Image_BW_medfilt,8);Number [Label, Number]=bwlabel(Image_BW_medfilt2,8);Number

MATLAB在图像处理技术方面的应用论文

MATLAB在图像处理技术方面的应用 摘要:本文介绍了MATLAB语言的特点以及图像处理工具箱实现的经典图像处理 技术。应用该工具箱对一实拍的芯片图像进行前期预处理,通过实例验证了该语言具有强大的矩阵运算与图形处理能力,是一种简洁易学,可读性强、功能强大的应用软件,对它的应用可以快速实现模拟仿真,大大提高实验效率。 关键词:MATLAB语言;图像处理;灰度图像 Application of MATLAB to Image Processing Technique LI Liao-liao DENG Shan-xi (College of Instrumentation Science ,Hefei University of Technology,Hefei,Anhui,230009,China) Abstract: This paper introduces characteristics of MATLAB language and classical image processing technique realized by using image processing toolbox. The toolbox is applied to pre-processing operations for a CMOS chip photograph, by experiment it proved that MATLAB possesses powerful capability to matrix operation and image processing, it is an application software that is simple and easy to study and understand and possesses multiple functions. MATLAB can be used to simulation tests, that will improve efficiency of experiment greatly. Key words: MATLAB software; image processing; gray image. 1、引言 MATLAB 的名称源自Matrix Laboratory ,由美国MathWorks公司推出。它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB 将高性能的数值计算和可视化集成在一起,构成了一个方便的、界面友好的用户环境,并提供了大量的内置函数。从而被广泛地应用于科学计算、控制系统、信息处理、神经网络、图像处理、小波分析等领域的分析、仿真和设计工作,而且利用MATLAB 产品的开放式结构,可以非常容易地对MATLAB 的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB 产品以提高产品自身的竞争能力。MATLAB中的数字图像是以矩阵形式表示的,这意味着MATLAB强大的矩阵运 算能力用于图像处理非常有利,矩阵运算的语法对MATLAB中的数字图像同样适用。本文对MATLAB图 像处理工具箱进行探索及应用,实验证明该软件功能强大,语言简洁易学,人机界面友好,工具箱具有丰富的技术支持并集成了该领域专家的智慧,应用简单而效果良好。 2、MATLAB图像处理工具箱及数字图像处理基本过程简介 数字图像处理工具箱函数包括以下15类:、⑴、图像显示函数;⑵、图像文件输入、输出函数;⑶、图像几何操作函数;⑷、图像像素值及统计函数;⑸、图像分析函数;⑹、图像增强函数;⑺、线性滤波函数;⑻、二维线性滤波器设计函数;⑼、图像变换函数;⑽、图像邻域及块操作函数;⑾、二值图像操作函数;⑿、基于区域的图像处理函数;⒀、颜色图操作函数;⒁、颜色空间转换函数;⒂、图像类型和类型转换函数。 MATLAB图像处理工具箱支持四种图像类型,分别为真彩色图像、索引色图像、灰度图像、二值图像,由于有的函数对图像类型有限制,这四种类型可以用工具箱的类型转换函数相互转换。MATLAB可操作的图像文件包括BMP、HDF、JPEG、PCX、TIFF、XWD等格式。下面就图像处理的基本过程讨论工具箱

基于MATLAB图像处理报告

基于M A T L A B图像处理报告一、设计题目 图片叠加。 二、设计要求 将一幅礼花图片和一幅夜景图片做叠加运算,使达到烟花夜景的美图效果。 三、设计方案 、设计思路 利用matlab强大的图像处理功能,通过编写程序,实现对两幅图片的像素进行线性运算,利用灰度变换的算法使图片达到预期的效果。 、软件介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB 也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户直接进行下载就可以用。

MATLAB中图像函数大全 详解及例子

图像处理函数详解——strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。 用法:SE=strel(shape,parameters) 创建由指定形状shape对应的结构元素。其中shape的种类有 arbitrary' 'pair' 'diamond' 'periodicline' 'disk' 'rectangle' 'line' 'square' 'octagon 参数parameters一般控制SE的大小。 例子: se1=strel('square',6) %创建6*6的正方形 se2=strel('line',10,45) %创建直线长度10,角度45 se3=strel('disk',15) %创建圆盘半径15 se4=strel('ball',15,5) %创建椭圆体,半径15,高度5

图像处理函数详解——roipoly 功能:用于选择图像中的多边形区域。 用法:BW=roipoly(I,c,r) BW=roipoly(I) BW=roipoly(x,y,I,xi,yi) [BW,xi,yi]=roipoly(...) [x,y,BW,xi,yi]=roipoly(...) BW=roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。BW选中的区域为1,其他部分的值为0. BW=roipoly(I)表示建立交互式的处理界面。 BW=roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。 例子:I=imread('eight.tif'); c=[222272300270221194]; r=[21217512112175]; BW=roipoly(I,c,r); imshow(I)

基于Matlab的数字图像处理系统毕业设计论文

论文(设计)题目: 基于MATLAB的数字图像处理系统设计 姓名宋立涛 学号201211867 学院信息学院 专业电子与通信工程 年级2012级 2013年6月16日

基于MATLAB的数字图像处理系统设计 摘要 MATLAB 作为国内外流行的数字计算软件,具有强大的图像处理功能,界面简洁,操作直观,容易上手,而且是图像处理系统的理想开发工具。 笔者阐述了一种基于MATLAB的数字图像处理系统设计,其中包括图像处理领域的大部分算法,运用MATLAB 的图像处理工具箱对算法进行了实现,论述了利用系统进行图像显示、图形表换及图像处理过程,系统支持索引图像、灰度图像、二值图像、RGB 图像等图像类型;支持BMP、GIF、JPEG、TIFF、PNG 等图像文件格式的读,写和显示。 上述功能均是在MA TLAB 语言的基础上,编写代码实现的。这些功能在日常生活中有很强的应用价值,对于运算量大、过程复杂、速度慢的功能,利用MATLAB 可以既能快速得到数据结果,又能得到比较直观的图示。 关键词:MATLAB 数字图像处理图像处理工具箱图像变换

第一章绪论 1.1 研究目的及意义 图像信息是人类获得外界信息的主要来源,近代科学研究、军事技术、工农业生产、医学、气象及天文学等领域中,人们越来越多地利用图像信息来认识和判断事物,解决实际问题,由此可见图像信息的重要性,数字图像处理技术将会伴随着未来信息领域技术的发展,更加深入到生产和科研活动中,成为人类生产和生活中必不可少的内容。 MATLAB 软件不断吸收各学科领域权威人士所编写的实用程序,经过多年的逐步发展与不断完善,是近几年来在国内外广泛流行的一种可视化科学计算软件。MATLAB 语言是一种面向科学与工程计算的高级语言,允许用数学形式的语言来编写程序,比Basic、Fortan、C 等高级语言更加接近我们书写计算公式的思维方式,用MATLAB 编写程序犹如在演算纸上排列出公式与求解问题一样。它编写简单、编程效率高并且通俗易懂。 1.2 国内外研究现状 1.2.1 国内研究现状 国内在此领域的研究中具有代表性的是清华大学研制的数字图像处理实验开发系统TDB-IDK 和南京东大互联技术有限公司研制的数字图像采集传输与处理实验软件。 TDB-IDK 系列产品是一款基于TMS320C6000 DSP 数字信号处理器的高级视频和图像系统,也是一套DSP 的完整的视频、图像解决方案,该系统适合院校、研究所和企业进行视频、图像方面的实验与开发。该软件能够完成图像采集输入程序、图像输出程序、图像基本算法程序。可实现对图像信号的实时分析,图像数据相对DSP独立方便开发人员对图像进行处理,该产品融合DSP 和FPGACPLD 两个高端技术,可以根据用户的具体需求合理改动,可以分析黑白和彩色信号,可以完成图形显示功能。 南京东大互联技术有限公司研制的数字图像采集传输与处理实验软件可实现数字图像的采集、传输与处理。可利用软件及图像采集与传输设备,采集图像并实现点对点的数字图像传输,可以观察理解多种图像处理技术的效果和差别,

(完整版)数字图像处理MATLAB程序【完整版】

第一部分数字图像处理

实验一图像的点运算 实验1.1 直方图 一.实验目的 1.熟悉matlab图像处理工具箱及直方图函数的使用; 2.理解和掌握直方图原理和方法; 二.实验设备 1.PC机一台; 2.软件matlab。 三.程序设计 在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。 I=imread('cameraman.tif');%读取图像 subplot(1,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(1,2,2),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出; 五.实验结果 观察图像matlab环境下的直方图分布。 (a)原始图像 (b)原始图像直方图 六.实验报告要求 1、给出实验原理过程及实现代码; 2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2 灰度均衡 一.实验目的 1.熟悉matlab图像处理工具箱中灰度均衡函数的使用; 2.理解和掌握灰度均衡原理和实现方法; 二.实验设备 1.PC机一台; 2.软件matlab; 三.程序设计 在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。 I=imread('cameraman.tif');%读取图像 subplot(2,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(2,2,3),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 a=histeq(I,256); %直方图均衡化,灰度级为256 subplot(2,2,2),imshow(a) %输出均衡化后图像 title('均衡化后图像') %在均衡化后图像中加标题 subplot(2,2,4),imhist(a) %输出均衡化后直方图 title('均衡化后图像直方图') %在均衡化后直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出; 五.实验结果 观察matlab环境下图像灰度均衡结果及直方图分布。 (a)原始图像 (b)均衡化后图像

matlab图像几何变换和图像增强

一.图像几何变化 (1)放大,缩小,旋转 程序: I=imread('111.jpg'); J=imresize(I,1.5); L=imresize(I,0.75); K=imrotate(I,35,'bilinear'); subplot(221),subimage(I); title('原图像'); subplot(222),subimage(J); title('放大后图像'); subplot(223),subimage(L); title('缩小后图像'); subplot(224),subimage(K);title('旋转后图像'); 二.图像频域变换 (1)傅里叶变换 真彩图像灰度图像傅里叶变换谱程序:I=imread('111.jpg'); figure(1); imshow(I); B=rgb2gray(I); figure(2);

imshow(B) D=fftshift(fft2(B)); figure(3); imshow(log(abs(D)),[ ]); (2)离散余弦变换 真彩图灰度图进行离散余弦变换后程序: RGB=imread('111.jpg'); figure(1); imshow(RGB); G=rgb2gray(RGB); figure(2); imshow(G); DCT=dct2(G); figure(3); imshow(log(abs(DCT)),[]); 三.图像增强: (1)指数变换 程序:

f=imread('111.jpg') f=double(f); g=(2^2*(f-1))-1; f=uint8(f); g=uint8(g); subplot(1,2,1),subimage(f); subplot(1,2,2),subimage(g); (2)直方图均衡 程序: I=imread('111.jpg'); I=rgb2gray(I); figure subplot(221);imshow(I); subplot(222);imhist(I) I1=histeq(I); figure; subplot(221);imshow(I1) subplot(222);imhist(I1) (3)空域滤波增强 锐化滤波(Roberts算子Sobel算子拉普拉斯算子)

基于matlab的数字图像处理论文

迭代与分形 姓名:吴涛班级:2007级电科一班学号:20074053053 摘要:几何学研究的对象是客观世界中物体的形状。传统欧氏几何学的研究对象,都是规则并且光滑的,比如:直线、曲线、曲面等。但客观世界中物体的形状,并不完全具有规则光滑等性质,因此只能近似当作欧氏几何的对象,比如:将凹凸不平的地球表面近似为椭球面。虽然多数情况下通过这样的近似处理后,能够得到符合实际情况的结果,但是对于极不规则的形态,比如:云朵、烟雾、树木等,传统的几何学就无能为力了。 如何描述这些复杂的自然形态?如何分析其内在的机理?这些就是分形几何学所面对和解决的问题。 关键字:迭代;分形;树形 一、问题分析 在我们的世界上,存在着许多极不规则的复杂现象,比如:弯弯曲曲的海岸线、变化的云朵、宇宙中星系的分布、金融市场上价格的起伏图等,为了获得解释这些极端复杂现象的数学模型,我们需要认识其中蕴涵的特性,构造出相应的数学规则。 曼德尔布罗特(Mandelbrot)在研究英国的海岸线形状等问题时,总结出自然界中很多现象从标度变换角度表现出对称性,他将这类集合称作自相似集,他发现维数是尺度变换下的不变量,主张用维数来刻划这类集合。Mandelbrot将这类几何形体称为分形(fractal),意思就是不规则的、分数的、支离破碎的,并对它们进行了系统的研究,创立了分形几何这一新的数学分支。Mandelbrot认为海岸、山峦、云彩和其他很多自然现象都具有分形的特性,因此可以说:分形

是大自然的几何学。 分形几何体一般来说都具有无限精细的自相似的层次结构,即局部与整体的相似性,图形的每一个局部都可以被看作是整体图形的一个缩小的复本。早在19世纪就已经出现了一些具有自相似特性的分形图形,比如:瑞典数学家科赫(von Koch)设计的类似雪花和岛屿边缘的一类曲线,即Koch曲线;英国植物学家布朗通过观察悬浮在水中的花粉的运动轨迹,提出来的布朗运动轨迹。 分形几何把自然形态看作是具有无限嵌套的层次结构,并且在不同尺度下保持某种相似的属性,于是,简单的迭代过程,就是描述复杂的自然形态的有效方法。 (Koch曲线) (布朗运动轨迹) 二、背景知识介绍 1、分形几何的形成。 分形几何的概念是美籍法国数学家曼德尔布罗特(Mandelbrot)于1975年首先提出的,但最早的工作可追朔到1875年,德国数学家维尔斯特拉斯(Weierestrass)构造了处处连续但处处不可微的函数,集合论创始人康托尔(Cantor,德国数学家)构造了有许多奇异性质的康托尔三分集。1890年,意大利数学家皮亚诺(Peano)构造了填充空间的曲线。1904年,瑞典数学家科赫(Koch)设计出类似雪花和岛屿边缘的一类曲线。1915年,波兰数学家谢尔宾斯基(Sierpinski)设计了象地毯和海绵一样的几何图形。这些都是为解决分析与拓朴学

图像处理matlab程序实例

程序实例 1旋转: x=imread('d:\MATLAB7\work\flower.jpg'); y=imrotate(x,200,'bilinear','crop'); subplot(1,2,1); imshow(x); subplot(1,2,2); imshow(y) 2.图像的rgb clear [x,map]=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh1.jpg');y=x(90:95,90:95);imshow(y)R=x(90:95,90:95,1);G=x(90:95,90:95,2);B=x(90:95,90:95,3);R,G,B 3.加法运算clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh3.jpg');J=imnoise(I,'gaussian',0,0.02);%向图片加入高斯噪声subplot(1,2,1),imshow(I);%显示图片subplot(1,2,2),imshow(J);K=zeros(242,308);%产生全零的矩阵,大小与图片的大小一样for i=1:100%循环100加入噪声J=imnoise(I,'gaussian',0,0.02);J1=im2double(J);K=K+J1;end K=K/100; figure,imshow(K);save

4.减法 clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); J=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao1.jpg'); K=imsubtract(I,J);%实现两幅图相减 K1=255-K;%将图片求反显示 figure;imshow(I); title('有噪声的图'); figure;imshow(J); title('原图'); figure;imshow(K1); title('提取的噪声'); save 5.图像的乘法 H=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); I=immultiply(H,1.2);将此图片乘以1.2 J=immultiply(H,2); subplot(1,3,1),imshow(H); title('原图'); subplot(1,3,2),imshow(I); title('·放大1.2'); subplot(1,3,3),imshow(J); title('放大2倍'); 6除法运算 moon=imread('moon.tif'); I=double(moon); J=I*0.43+90; K=I*0.1+90; L=I*0.01+90; moon2=uint8(J); moon3=uint8(K); moon4=uint8(L); J=imdivide(moon,moon2); K=imdivide(moon,moon3); L=imdivide(moon,moon4); subplot(2,2,1),imshow(moon); subplot(2,2,2),imshow(J,[]); subplot(2,2,3),imshow(K,[]); subplot(2,2,4),imshow(L,[]);

基于MATLAB的运动模糊图像处理

基于MATLAB的运动模糊图像处理 提醒: 我参考了文献里的书目和网上的一些代码而完成的,所以误差会比较大,目前对于从网上下载的模糊图片的处理效果很不好,这是我第一次上传自己完成的实验的文档,希望能帮到一些人吧。 研究目的 在交通系统、刑事取证中图像的关键信息至关重要,但是在交通、公安、银行、医学、工业监视、军事侦察和日常生活中常常由于摄像设备的光学系统的失真、调焦不准或相对运动等造成图像的模糊,使得信息的提取变得困难。但是相对于散焦模糊,运动模糊图像的复原在日常生活中更为普遍,比如高速运动的违规车辆的车牌辨识,快速运动的人群中识别出嫌疑人、公安刑事影像资料中提取证明或进行技术鉴定等等,这些日常生活中的重要应用都需要通过运动模糊图像复原技术来尽可能地去除失真,恢复图像的原来面目。因此对于运动模糊图像的复原技术研究更具有重要的现实意义。 图像复原原理 本文探讨了在无噪声的情况下任意方向的匀速直线运动模糊图像的复原问题,并在此基础上讨论了复原过程中对点扩散函数(PSF)的参数估计从而依据自动鉴别出的模糊方向和长度构造出最为近似的点扩散函数,构造相应的复原模型,实现运动模糊图像的复原;在模糊图像自动复原的基础上,根据恢复效果图的纹理特征和自动鉴别出的模糊长度和角度,人工调整模糊方向和长度参数,使得复原效果达到最佳。 实验过程 模糊方向的估计: 对图1(a)所示的原始图像‘车牌’图像做方向θ=30?,长度L=20像素的匀速直线运动模糊,得到退化图像如图1(b)

1(a) 1(b) j=imread('车牌1.jpg'); figure(1),imshow(j); title('原图像'); len=20; theta=30; psf=fspecial('motion',len,theta); j1=imfilter(j,psf,'circular','conv'); figure,imshow(j1); title('PSF 模糊图像'); 图1(c)和1(d)分别为原图像和模糊图像的二次傅里叶变化

图像增强及MATLAB实现

《数字图像处理》课程设计 课设题目:图像增强与MATLAB实现学校学院:华东交通大学理学院 学生班级:13级信息计算(2)班学生:超 学生学号:20130810010216 指导老师:自柱

图像增强与MATLAB实现 摘要 数字图像处理是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。图像增强是数字图像处理的过程中经常采用的一种方法,它对提高图像质量起着重要的作用。本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、对比度增强、平滑和锐化等几种常用的增强方法的理论基础,通过Matlab实验得出的实际处理效果来对比各种算法的优缺点,讨论不同的增强算法的技术要点,并对其图像增强方法进行性能评价。 关键字:图像;图像增强;算法

目录 一、MATLAB的简介 (1) 1.1MATLAB主要功能 (1) 二、MATLAB的主要功能 (1) 2.1数字增强技术概述 (1) 2.2数字图像的表示 (2)

三、直方图的均衡化 (2) 3.1图像的灰度 (2) 3.2灰度直方图 (2) 3.3直方图均衡化 (3) 四、图像二值化 (5) 4.1图像二值化 (5) 五、对比度增强 (7) 5.1对比度增强 (7) 5.2灰度调整 (8) 5.3对数变换 (9) 六、滤波 (10) 6.1平滑滤波 (10) 6.2线性平滑滤波程序: (11) 6.3非线性滤波 (12) 七、锐化 (18) 八、参考文献 (19) 九、自我评价 (20)

一、Matlab的简介 1.1 MATLAB主要功能 MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。目前,已成为工程领域中较常用的软件工具包之一。 二、MATLAB的主要功能 2.1数字增强技术概述 图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些信息使得图像更加实用。图像增强技术主要包含直方图修改处理、图像平滑处理、图像尖锐化处理等。 图像增强技术主要包括:直方图修改处理,图像平滑处理,图像尖锐化处理,彩色图像处理。从纯技术上讲主要有两类:频域处理法和空域处理法。 频域处理法主要是卷积定理,采用修改图像傅立叶变换的方法实现对图像的增强处理技术;空域处理法:是直接对图像中的像素进行处理,基本上是以灰度映射变换为基础的。

(完整版)基于matlab的数字图像处理毕业设计论文

优秀论文审核通过 未经允许切勿外传 摘要 数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人们服务。数字图像处理是一种通过计算机采用一定的算法对图形图像进行处理的技术。数字图像处理技术已经在各个领域上都有了比较广泛的应用。图像处理的信息量很大,对处理速度的要求也比较高。MATLAB强大的运算和图形展示功能,使图像处理变得更加的简单和直观。本文介绍了MATLAB 语言的特点,基于MATLAB的数字图像处理环境,介绍了如何利用MATLAB及其图像处理工具箱进行数字图像处理,并通过一些例子来说明利用MATLAB图像处理工具箱进行图像处理的方法。主要论述了利用MATLAB实现图像增强、二值图像分析等图像处理。关键词:MATLAB,数字图像处理,图像增强,二值图像

Abstract Digital image processing is an emerging technology, with the development of computer in various areas on the processing speed requirement is relatively ),线性量化(liner quantization ),对数量化,MAX 量化,锥形量化(tapered quantization )等。 3. 采样、量化和图像细节的关系 上面的数字化过程,需要确定数值N 和灰度级的级数K 。在数字图像处理中,一般都取成2的整数幂,即: (2.1) (2.2) 一幅数字图像在计算机中所占的二进制存储位数b 为: *log(2)**()m N N b N N m bit == (2.3) 例如,灰度级为256级(m=8)的512×512的一幅数字图像,需要大约210万个存储位。随着N 和m 的增加,计算机所需要的存储量也随之迅速增加。 由于数字图像是连续图像的近似,从图像数字化的过程可以看到。这种近似的程度主要取决于采样样本的大小和数量(N 值)以及量化的级数K(或m 值)。N 和K 的值越大,图像越清晰。 2.2 数字图像处理概述 2.2.1 基本概念 数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展;二是数学的发展(特别是离散数学理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的

相关主题
文本预览
相关文档 最新文档