人眼定位的算法数字图像毕业论文.doc
摘 要人脸识别因为在驾驶员疲劳驾驶、视频会议、医学、档案管理、系统公安(罪犯识别等)等方面的巨大应用前景越来越成为模式识别和人工智能领域的一个研究热点,其中,由于眼睛与人脸部的其他部位相比,其灰度变化特征十分明显,因此,人眼定位研究算法对于人脸识别系统有着非常重要的意义和影响。在常规的光线下,人眼区域在人脸区域中有两个显著地特征,一个是较周围的区域暗,另一个是灰度差值较大,因此,本文使用了一种通过灰度积分和微分投影的眼睛定位方法,其前提是在人脸区域中进行人眼定位,可用于疲劳驾驶检测中的人眼快速定位。在从人脸区域中去除容易被分隔出的,又影响人眼定位的干扰信息的基础上,利用水平和垂直灰度微积分投影的方法并结合人脸的结构特征得到眼睛的位置坐标。该算法利用Visual C+编写程序,运算时间较短,结合简单有效的灰度投影分析,大大提高了定位的速度,并且定位较准确。关键词:水平和垂直灰度微积分投影;灰度投影; 人眼定位AbstractFace recognition for the pilot fatigue driving,video conference, medicine, human-computer interaction, file management, public security system (criminal identification and application prospect of the huge more and more become pattern recognition and the field of artificial intelligence of a research focus, among them, because the eye to the other parts of the face compared with the gray features very obvious, therefore, eye location algorithm research for face recognition system has a very important significance and influence. In conventional light, the human eye area in the face region are two significantly feature, a is the area surrounding the dark, the other is a gray level difference is bigger, therefore, this paper uses a through the gray integral and differential projection eyes positioning method, the premise is the face region in the eye location, can be used for the detection of the human eye fatigue driving fast positioning. From the face region in the removal of the easy to space goes out, and influence the interference of eye location information, and on the basis of using the horizontal and vertical gray calculus projection method and combining with the features of the structure of face the position of the eyes get coordinates. The algorithm using Visual C+ program, operation time is short, the combined with simple and effective gray-level projection analysis, greatly improving the positioning of the speed, and locating the more accurate.Key word:shorizontal and vertical gray calculus projection; eye location; gray integral and differential projection目 录绪 论10.1 课题背景及意义10.2 国内外研究现状及发展20.2.1 国外研究现状20.2.2 国内研究现状20.3 开发平台简介30.3.1 Microsoft Visual C+开发平台30.3.2 Windows 操作系统40.4 性能要求5第一章 数字图像基础61.1图像处理常用方法61.2 数字图像处理及其特点61.3数字图像处理的目的和主要内容71.3.1 数字图像处理的目的71.3.2 数字图像处理的主要内容71.4数字图像处理的应用工具81.5 数字图像处理的应用领域91.6 数字图像文件的基本类型101.7图像文件的一般结构111.8常用的空间模型121.9 数字图像处理常用方法131.9.1 空域处理法131.9.2频域处理法14第二章 人眼定位的常用算法研究152.1 人眼定位的常用算法研究152.2 基于红眼效应的算法152.3 区域分割法152.4 Hough变换法152.5 基于知识的人眼定位法162.6灰度投影法162.7模版匹配法172.8边缘特征分析法17第三章 基于灰度投影的人眼定位算法183.1 基于灰度投影的人眼定位算法183.2 读取BMP图像文件183.3 RGB图像灰度化193.4 灰度图像的投影2134.1 灰度积分投影2134.2 灰度微分投影23第四章 功能分析及实现264.1 功能简介264.2功能介绍及分析264.2.1 人眼区域范围定位264.2.2 人眼水平位置定位274.2.3 人眼水平区域定位294.2.4 人眼垂直位置定位294.3结果展示304.4 存在的缺陷及结果分析30总结与展望32致 谢33参考文献34绪 论0.1 课题背景及意义计算机自动人脸识别技术的研究开始于20世纪60年代,它作为一种重要的基于生物特征识别的身份识别技术,在图像与视频检索,安全监控,计算机视觉,智能人机接口,安全系统的身份认证等领域中应用越来越广泛,近年来越来越引起图像处理,模式识别等领域方的研究学者的广泛关注。 人眼作为人脸最显著地特征,比口,鼻更能提供可靠,重要的信息,因此,人眼的识别是计算机中人脸识别和智能监控中不可缺少的重要部分。在过去的几十年中,对人眼检测和定位方法的研究取得了很大进展。其中,使用红外光照明的主动监测方法在驾驶员疲劳监测系统中得到了广泛应用。该方法充分利用人眼的基本生理特点,即视网膜对不同波长的红外光能够反射量的不同时所得的图像中突出显示瞳孔的位置,用于定位跟晴。该方法的优点在于它的准确性和鲁棒性较好,但是它需要特殊的带有红外光源摄像机的硬件支持,对头部的深度旋转、人脸与摄像头的距离和外部光照相当敏感,在户外环境下误检率会增加。对于在可见光和正常照明条件下得到的彩色图像和灰度图像中人眼的检测和定位技术的研究也吸引了大量研究者的注意。眼睛作为人面部上最显著、最稳定的特征, 可以被用于帮助定位人脸, 提供人的注视信息, 识别人脸动作(如表情变化)等疲劳驾驶是造成交通事故的主要原因之一。由于超长时间驾驶、夜间驾驶,或缺少睡眠等原因,驾驶员在驾驶时会出现疲劳或困倦状态。对驾驶员疲劳程度检测的研究,属于智能交通领域,是智能辅助驾驶的一项关键技术。驾驶员在车辆行驶过程中是否疲劳驾驶可以从眼睛的状态反映出来, 利用驾驶员眼睛的状态信息来判断其疲劳状况是一种可行的方法。在车辆上安装驾驶员疲劳监测系统, 利用摄像头对驾驶员的驾驶行为进行监控, 获取驾驶员脸部的一段连续图像, 对每幅图像中的眼睛状态进行分析, 综合每幅图像的数据来获得一个眨眼周期。由于正常的眨眼频率与疲劳状态的眨眼频率有着明显的区别, 从而可以判断出该图像序列获取时驾驶员的精神状态, 在判断驾驶员疲劳时由系统适时地给出警告信号以避免事故发生。因此, 准确、快速获得每幅图像中眼睛的精确位置, 是实现驾驶员疲劳状态监控的关键。作为眼睛定位的另外一个重要应用是人脸识别和身份认证, 人脸识别在司法验证、安全监控、智能卡、档案管理、视频会议、人机交互等方面有着广泛的应用,而身份认证是根据个人独有的生理特征和行为特征进行验证。因为有些特征(如DNA、虹膜)具有高度准确的优点,是不可能被伪造的。0.2 国内外研究现状及发展0.2.1 国外研究现状人眼定位作为驾驶员疲劳监测技术的重要组成,受到国外众多研究学者的高度重视,提出来一系列算法并开发出一系列产品。1.Bala等人提出了一种基于遗传算法和决策树的眼睛定位方法,该方法用一种混合遗传结构使基本视觉规则不断进化,最终得到可用于眼睛定位的决策树形式的视觉规则。2.Wu和Zhou提出了一种基于灰度对比的眼睛定位方法,该方法利用眼睛区域的灰度较大这一特点找出眼睛的位置。3.由Seeing Machines公司(澳大利亚国立大学与沃尔沃公司)研发的faceLAB通过监测驾驶员眼睛的眨动频率、凝视方向等特征参量,进行多特征信息融合,实现对驾驶员精神状态的实时监测。系统采用了与PERCLOS不同的眼睛睁闭和注视方向检测方法,解决了暗光照、头部运动和驾驶员佩戴眼镜时的视线方法跟踪问题。4.Reinders等人提出了一种基于神经网络的眼睛定位方法,该方法将搜索窗口的像素作为神经网络的输入,如果该窗口包含眼睛图像,则神经网络的输出较大。但是,上述方法只能给出人眼的大致位置,并不能获得精确定位眼睛的中心。为了获得效果更佳的人脸标准化图像,有必要研究瞳孔精确定位的方法。5.文献中的ASV2系统监测驾驶员疲劳状态的摄像机安装在方向盘前方,通过红外照明的摄像机监视眼睛的状态,在驾驶员出现疲劳状态时,通过声音和文字显示等方法提示驾驶员。6.文献中Paul Smith将监测驾驶员疲劳状态与检测其注意力是否集中结合。用单个摄像机在白天光照条件下检测驾驶员眨眼、头部运动状态、眼睛凝视方向等,作为检测驾驶员疲劳状态或注意力不集中的线索。0.2.2 国内研究现状国内展开工作相较于国外对此领域的研究起步比较晚,目前还很缺乏深入系统的研究成果,但某些单因素特征方面的研究进步较快,目前取得了一些阶段性的研究成果。1. Head Position Sensor 即一种头戴式摄像机,能够实时跟踪头部是我位置,同时利用各个时间段头部位置各器官的变化特征,包括眼睛的开合,表现出司机处于清醒还是瞌睡状态,该方法使眼睛区域容易从图像中分割出来,但由于接触式,侵入式的缺点而使其应用受到限制。2.文献研究的单目视觉疲劳自动检测系统检测人脸,然后对头部进行跟踪,在可靠人脸的基础上,定位并且跟踪眼睛,提取眼角与眼睑特征,具有确定的可靠性与准确性,但系统对光照的适应能力较差。3.有一种基于灰度积分投影的人眼快速定位方法,首先利用图像的垂直灰度投影曲线确定人脸左右边界,然后利用水平灰度投影曲线确定人眼位置,最后利用阈值分割及边缘检测进行人眼开闭情况检测,但对头部倾斜度打,测光过强,头部在图像中所占区域小的情况,定位错误率较高。4. 文献中将Kalman滤波和MeanShift算法结合用于眼睛的跟踪,研究了基于肤色模型和级联增强分类器法以及基于几何特征和级联增强分类器法的两种人眼检测方法,然后使用模版匹配判断人眼的闭合状态。但由于考虑的因素过多,势必处理速度就会相应地降低,同时各种因素之间互相干扰,影响定位的准确度本文使用的的是一种基于灰度投影的人眼快速定位方法,该方法在人脸粗定位的基础上进行,灰度投影法是对人脸图像水平和垂直方向的投影,根据波峰波谷的分布信息来定位眼睛。0.3 开发平台简介0.3.1 Microsoft Visual C+开发平台Microsoft Visual C+,(简称Visual C+、MSVC、VC+或VC)微软公司的C+开发工具,具有集成开发环境,可提供编辑C语言,C+以及C+/CLI等编程语言。VC+整合了便利的除错工具,特别是整合了微软视窗程式设计(Windows API)、三维动画DirectX API,Microsoft .NET框架。目前最新的版本是Microsoft Visual C+ 2010。Microsoft Visual C+是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持数据库接口、OLE2、WinSock网络、3D控制界面。它以拥有“语法高亮”,IntelliSense(自动编译功能)以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及建置系统以预编译头文件、最小重建功能及累加连结著称。这些特征明显缩短程式编辑、编译及连结的时间花费,在大型软件计划上尤其显著。Visual C+最初叫做Microsoft C/C+。Visual C+ 被整合在 Visual Studio 之中,但仍可单独安装使用。目前有四种最新版本:Visual Studio 2010 Professional 是供开发人员执行基本开发任务的重要工具。可简化在各种平台(包括 SharePoint 和云)上创建、调试和开发应用程序的过程。Visual Studio 2010 Professional 自带对测试驱动开发的集成支持以及调试工具,以帮助确保提供高质量的解决方案。 Visual Studio 2010 Premium 是一个功能全面的工具集,可为个人或团队简化应用程序开发过程,支持交付可扩展的高质量应用程序。无论是编写代码、构建数据库、测试还是调试,您都可以使用能够按照你的方式工作的强大工具来提高工作效率。Visual Studio 2010 Ultimate 是一个综合性的应用程序生命周期管理工具套件,可供团队用于确保从设计到部署的整个过程都能取得较高质量的结果。无论是创建新的解决方案,还是改进现有的应用程序,Visual Studio 2010 Ultimate 都能让您针对不断增加的平台和技术(包括云和并行计算)将梦想变成现实。Visual Studio Test Professional 2010是质量保障团队的专用工具集,可简化测试规划和手动测试执行过程。Test Professional 与开发人员的 Visual Studio 软件配合运行,可在整个应用程序开发生命周期内实现开发人员和测试人员之间的高效协作。以前的版本有Visual C+ 2008 Express、Visual C+ 2008 Standard 标准版、Visual C+ 2008 Professional 专业版、Visual C+ 2008 Team System 团队系统版,其中 Microsoft Visual C+ 2008 Express 可从微软网站免费下载使用,并且不限制商业使用。Visual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。Visual Studio 是目前最流行的 Windows 平台应用程序开发环境。目前已经开发到 11 beta 版本,也就是 Visual Studio 2011 beta,但是最新的稳定版本依然是Visual Studio 2010。Visual Studio 2008 包括各种增强功能,例如可视化设计器(使用 .NET Framework 3.5 加速开发)、对 Web 开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。Visual Studio 2008 为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持 AJAX 的 Web 应用程序。开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的 Web 应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问 ASP NET 应用程序服务和 Microsoft 平台。0.3.2 Windows 操作系统Microsoft开发的Windows是目前世界上用户最多、且兼容性最强的操作系统。其实已在1985年就推出了Windows操作系统。改进了微软以往的命令、代码系统Microsoft Dos。Microsoft Windows是彩色界面的操作系统。支持键鼠功能。默认的平台是由任务栏和桌面图标组成的。任务栏是显示正在运行的程序、“开始”菜单、时间、快速启动栏、输入法以及右下角托盘图标组成。而桌面图标是进入程序的途径。默认系统图标有“我的电脑”、“我的文档”、“回收站”,另外,还会显示出系统自带的“IE浏览器”图标。运行Windows的程序主要操作由鼠标和键盘控制。鼠标左键单击默认是选定命令,鼠标左键双击是运行命令。鼠标右键单击是弹出菜单。Windows系统是“有声有色”的操作系统。除了有颜色以外,声音也必不可少。最重要的还是windows的硬件必须要驱动程序引导。USB、声卡、显卡、网卡、光驱、主板、CPU等等都需要驱动程序。安装了驱动程序就可以正常使用Windows的硬件。有了主板的驱动,系统才可以正常使用、运行。有声卡才会发声、有显卡才有图像。这一切都是驱动程序的引导才可执行。Windows是由资源管理器和注册表这两个程序控制。注册表是控制着脚本、命令、启动项目的工具。也是Windows的核心部分。0.4 性能要求资料表明, 高速公路上发生的交通事故50%以上是由于长时间驾驶造成疲劳或由所见目标单调而形成注意力不集中、甚至打瞌睡等原因造成的。而驾驶员在车辆行驶过程中是否疲劳驾驶可以从眼睛的状态反映出来, 利用驾驶员眼睛的状态信息来判断其疲劳状况是一种可行的方法。本文算法可以应用在汽车驾驶主动安全中的基于驾驶员行为特征疲劳检测的系统中,通过及时地定位、准确地判断眼部开闭状态来明确驾驶员是否已经处于疲劳状态,进而决定是否发出报警提醒驾驶员。在车辆上安装驾驶员疲劳监测系统, 利用摄像头对驾驶员的驾驶行为进行监控, 获取驾驶员脸部的一段连续图像, 对每幅图像中的眼睛状态进行分析, 综合每幅图像的数据来获得一个眨眼周期。由于正常的眨眼频率与疲劳状态的眨眼频率有着明显的区别, 从而可以判断出该图像序列获取时驾驶员的精神状态, 在判断驾驶员疲劳时由系统适时地给出警告信号以避免事故发生。在这个过程中,准确、稳定、快速的定位非常重要,否则达不到主动安全的目的,因此要求系统要兼顾以下几点性能要求:鲁棒性:要求系统对影响监测效果的外界影响,如光照变化等有一定的抗干扰能力。独立性:要求系统独立完成检测,工作过程不需要外部的介入与操作。实时性:要求系统能快速进行定位,并判定驾驶员是否处于疲劳状态。准确性:要求系统能以较高的正确率定位人脸与人眼,这是驾驶员疲劳检测系统的基本要求。第一章 数字图像基础1.1图像处理常用方法本文的主要工作是对静态图像进行处理,在对图片的处理过程中实现人眼的定位,因此本章旨在介绍数字图像处理的基础概念、应用工具、应用领域以及常用的人眼定位的方法,这些内容结合在一起组成本文算法实现的知识背景和基础。1.2 数字图像处理及其特点数字图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。数字图像处理作为一门学科大约形成于20世纪60年代初期。早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。在图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。首次获得实际成功应用的是美国喷气推进实验室(JPL)。他们对航天探测器徘徊者7号在1964年发回的几千张月球照片使用了图像处理技术,如几何校正、灰度变换、去除噪声等方法进行处理,并考虑了太阳位置和月球环境的影响,由计算机成功地绘制出月球表面地图,获得了巨大的成功。随后又对探测飞船发回的近十万张照片进行更为复杂的图像处理,以致获得了月球的地形图、彩色图及全景镶嵌图,获得了非凡的成果,为人类登月创举奠定了坚实的基础,也推动了数字图像处理这门学科的诞生。在以后的宇航空间技术,如对火星、土星等星球的探测研究中,数字图像处理技术都发挥了巨大的作用。数字图像处理取得的另一个巨大成就是在医学上获得的成果。数字图像处理是指用计算机对图像进行处理。它广泛用于几乎所有与成像有关的领域。目前数字图像处理技术发展迅速,其应用领域也越来越广,有些技术已相当成熟并且产生了较大的效益。当前数字图像处理的主要任务是研究新的处理方法,构造新的处理系统,开拓更广泛的应用领域。用计算机进行图像处理的前提是图像必须以数字格式存储。数字化后图像可以看成是存储在计算机汇总的有序数据,可以通过计算机对数字图像进行处理。我们把利用计算机对图像进行去除噪声、增强、复原、分割、提取特征等的理论、方法和技术称为数字图像处理(Digitial Image Processing)。在日常生活中,图像处理已经得到了广泛应用。例如:电脑人像艺术,电视中的特殊效果,自动售货机钞票的识别,邮政编码的自动识别和利用指纹、虹膜、面部等特征的身份识别等;而在医学领域,很早以前就采用X射线、显微镜照片等来诊断疾病。现在,计算机图像处理已成为疾病诊断的重要手段,用一般摄影方法不能获取的身体内部的状况,也能由特殊的图像处理装置获取。数字图像处理的特点有:(1) 图像数据量庞大。图像中包含有丰富的信息,可以通过图像处理技术获取图像中包含的有用的信息,但是,数字图像的数据量巨大。 (2) 处理的多样性。由于图像处理是通过运行程序进行的,因此,设计不同的图像处理程序,可以达到不同的处理目的。 (3) 处理效果易于控制。在图像处理中,可以任意设定或变动各种参数,能有效控制处理过程,达到预期的处理效果。 (4) 处理精度高,再现性好。利用计算机进行图像处理,其实质是对图像数据进行各种运算。由于计算机技术的飞速发展,计算精度和计算的正确性毋庸置疑;另外,对同一图像用相同的方法处理多次,也可得到完全相同的效果,具有良好的再现性。一幅数字图像是由图像矩阵中的像素(Pixel)组成的,通常每个像素用哄、绿、蓝三种颜色表示,如果每种颜色用8 bit表示灰度级,则一幅1024×1024不经压缩的真彩色图像,数据量达3 MB。X射线照片一般为64256Kb的数据量,一幅遥感图像为3240×2340×4=30Mb。如此庞大的数据量给存储、传输和处理都带来巨大地困难。如果精度及分辨率再提高,所需时间将大幅增加。图像处理技术综合性强。数字图像处理涉及的技术领域相当广泛,如通信技术、计算机技术、电子技术、电视技术等,当然,数学、物理学等领域更是熟悉图像处理的基础。1.3数字图像处理的目的和主要内容1.3.1 数字图像处理的目的一般而言,对图像进行加工和分析主要有如下三方面的目的。1.提高图像的视感质量,以达到赏析悦目的效果。如去除图像中的噪声,改变图像的亮度、颜色,增强获一直图像中的某些成分,对图像进行几何变换等,从而改善图像的质量,以达到或真实的、或清晰的、或色彩丰富的、或意想不到的艺术效果。2.提取图像中所包含的某些特征或特殊信息,以便于计算机对其进行分析,例如,常用作模式识别、计算机视觉的预处理等。这些特征包括很多方面,如频域特性、灰度/颜色特性、边界/区域特性、纹理特性、形状/拓扑特性和关系结构等。3.对图像数据进行变换、编码和压缩,以便于图像的存储和传输。1.3.2 数字图像处理的主要内容不管图像处理是出于什么目的,都需要用计算机图像处理系统对图像数据进行输入、加工和输出,因此数字图像处理研究的内容主要有以下几个过程。1.图像获取、表示和表现。该过程主要是把模拟图像信号转化为计算机所能接受的数字形式,以及把数字图像显示和表现出来。这一过程主要包括摄取图像、光电转换及数字化等几个步骤。2.图像复原。当造成图像品质下降的原因已知时,复原技术可以对图像进行校正。图像复原最关键的是对每种退化都需要有一个合理的模型。例如,掌握了聚焦不良成像系统的物理特性,便可以建立复原模型,而且对获取图像的特定光学系统的直接测量也是可能的。退化模型和特定数据一起描述了图像的退化,因此,复原技术是基于模型和数据的图像恢复,其目的是消除退化的影响,从而产生了一个等价于理想成像系统所获得的图像。3.图像增强。图像增强是对图像质量在一般意义上的改善。当无法知道图像退化有关的定量信息时,可以使用图像增强技术较为主观地改善图像的质量。所以,图像增强技术是用于改善图像视感质量所采用的一种方法。因为增强技术并非是针对某种退化所采取的方法,所以很难预测哪一种特定技术室最好的,只能通过实验和分析误差来选择一种合适的方法。4.图像分割。把图像分成区域的过程就是图像分割。图像中通常包含多个对象,例如,一幅医学图像中显示出正常的或有病变的各种的器官和组织。图像处理为达到识别和理解的目的,几乎都必须按照一定的规则将图像分割成区域,每个区域代表被成像的一个物体。5.图像分析。图像处理应用的目标几乎均涉及到图像分析,即对图像中的不同对象进行分割、特征提取和表示,从而有利于计算机对图像进行分类、识别和理解。6.图像重建。图像重建是指从数据到图像的处理,即输入的是某种数据,而经过处理后得到的结果是图像。7.图像压缩编码。图像压缩的目的就是压缩数据量。图像编码主要是利用图像信号的统计特性及人类视觉的心理学及心理学特性。对图像信号进行高效编码。研究数据压缩技术,目的是在保证图像质量的前提下压缩数据,使数据便于存储和传输,以解决数据量大的问题。1.4数字图像处理的应用工具数字图像处理的工具可分为三大类: 第一类包括各种正交变换和图像滤波等方法,其共同点是将图像变换到其它域(如频域)中进行处理(如滤波)后,再变换到原来的空间(域)中; 第二类方法是直接在空间域中处理图像,它包括各种统计方法、微分方法及其它数学方法: 第三类是数学形态学运算,它不同于常用的频域和空域的方法,是建立在积分几何和随机集合论的基础上的运算。 由于被处理图像的数据量非常大且许多运算在本质上是并行的,所以图像并行处理结构和图像并行处理算法也是图像处理中的主要研究方向。1.5 数字图像处理的应用领域1.生物医学工程方面 数字图像处理在生物医学工程方面的应用十分广泛,而且很有成效。除了上面介绍的CT技术之外,还有一类是对医用显微图像的处理分析,如红细胞、白细胞分类,染色体分析,癌细胞识别等。此外,在X光肺部图像增晰、超声波图像处理、心电图分析、立体定向放射治疗等医学诊断方面都广泛地应用图像处理技术。 2.通信工程方面 当前通信的主要发展方向是声音、文字、图像和数据结合的多媒体通信。具体地讲是将电话、电视和计算机以三网合一的方式在数字通信网上传输。其中以图像通信最为复杂和困难,因图像的数据量十分巨大,如传送彩色电视信号的速率达100Mbit/s以上。要将这样高速率的数据实时传送出去,必须采用编码技术来压缩信息的比特量。在一定意义上讲,编码压缩是这些技术成败的关键。除了已应用较广泛的熵编码、DPCM编码、变换编码外,目前国内外正在大力开发研究新的编码方法,如分行编码、自适应网络编码、小波变换图像压缩编码等。 3.工业和工程方面 在工业和工程领域中图像处理技术有着广泛的应用,如自动装配线中检测零件的质量、并对零件进行分类,印刷电路板疵病检查,弹性力学照片的应力分析,流体力学图片的阻力和升力分析,邮政信件的自动分拣,在一些有毒、放射性环境内识别工件及物体的形状和排列状态,先进的设计和制造技术中采用工业视觉等等。其中值得一提的是研制具备视觉、听觉和触觉功能的智能机器人,将会给工农业生产带来新的激励,目前已在工业生产中的喷漆、焊接、装配中得到有效的利用。4.军事公安方面 在军事方面图像处理和识别主要用于导弹的精确末制导,各种侦察照片的判读,具有图像传输、存储和显示的军事自动化指挥系统,飞机、坦克和军舰模拟训练系统等;公安业务图片的判读分析,指纹识别,人脸鉴别,不完整图片的复原,以及交通监控、事故分析等。目前已投入运行的高速公路不停车自动收费系统中的车辆和车牌的自动识别都是图像处理技术成功应用的例子。5.文化艺术方面 目前这类应用有电视画面的数字编辑,动画的制作,电子图像游戏,纺织工艺品设计,服装设计与制作,发型设计,文物资料照片的复制和修复,运动员动作分析和评分等等,现在已逐渐形成一门新的艺术-计算机美术。 6.机器人视觉 机器视觉作为智能机器人的重要感觉器官,主要进行三维景物理解和识别,是目前处于研究之中的开放课题。机器视觉主要用于军事侦察、危险环境的自主机器人,邮政、医院和家庭服务的智能机器人,装配线工件识别、定位,太空机器人的自动操作等。 7.视频和多媒体系统 目前,电视制作系统广泛使用的图像处理、变换、合成,多媒体系统中静止图像和动态图像的采集、压缩、处理、存贮和传输等。 1.6 数字图像文件的基本类型数字图像有多重存储格式,每种格式一般由不同的开发商支持。随着信息技术的发展和图像应用领域的不断拓宽,还会出现新的图像格式。因此,要进行图像处理,必须了解图像文件的格式,即图像文件的数据构成。每一种图像文件均有一个文件头,在文件头之后才是图像数据。图像数字化后,用二维矩阵表示和存储,静态图像可分为矢量图和位图。矢量图用数学公式描述的图像,优点是文件数据两很小;图像质量与分辨率无关,这意味着无论将图像放大或缩小了多少次,图像总是以显示设备允许的 做大清晰度显示,缺点是不易制作色调丰富或是色彩变化太多的图像,而且绘制出来的图像不是很逼真,同时也不易在不同的软件间交换文件。位图是通过许多像素点表示一幅图像,每个图像像素具有颜色属性和位置属性。位图可以从传统的相片、幻灯片上制作出来或是使用数字相机得到。根据矢量图和位图的不同特点,本论文采用位图作为处理的对象。据图像像素的颜色分类,可将位图分为如下四种类型:1.单色图像每个像素点有黑白两种灰度值,因此一个像素仅占1bit,0表示黑,1表示白,或相反。常把单色图像称为1为图像,或是二值图像。在图像处理过程中,常把图像转为二值图像后进行各种分析。2.灰度图像每个图像像素点有2256级灰度值,因此一个像素占8bit,其值范围从0到255,表示256种不同的灰度值。3.索引图像在这种模式下,颜色表都是预先定义的,并且可供选用的一组颜色也很有限,索引颜色的图像做多只能显示256种颜色。因此一个像素占8bit,但这8bit的值不是颜色值,而是颜色表中的索引值,根据索引值在颜色表中找到最终的RGB颜色值。4.真彩色图像在真彩色图像中,每一个像素由红、蓝、绿三个字节组成。每个字节为8bit,表示0到255之间的不同的亮度值,这三个字节组合可以产生1670万种不同的颜色。1.7图像文件的一般结构常用的图像文件存储格式主要有GIF文件、JPG文件、BMP文件、PCX文件,以及TIFF文件等。一般的图像文件结构都包含有文件头和文件体两部分。文件头的主要内容包括产生或编辑该图像文件的软件的信息以及图像本身的参数。这些参数必须完整的描述图像数据的所有特征,如图像像素点的位置, 颜色信息等,因此是图像文件中的关键数据。当然,根据不同的文件,有的参数是可选的,如压缩算法,有的文件无压缩,有的文件可选择多种方法压缩。文件体主要包括图像数据以及颜色变换查询表或调色板数据,这部分是文件的主体,对文件容量的大小起决定作用。如果是真彩色图像,则五颜色变换查找表或调色板数据,对于256色的调色板,每种颜色值用24bit表示,则调色板的数据长度为256x3字节。目前还没有非常统一的图像文件格式,但大多数图像处理软件都与数种图像文件格式相兼容,也即可读取多种不同格式的图像文件,这样,不同的图像格式可相互转换。当然,还有专门的图像格式转换软件,用于各种图像格式的转换。位图文件(Bitmap-File,BMP)格式是Windows采用的图像文件存储格式在Windows环境运行下的所有图像处理软件都支持这种格式。Windows 3.0以前的 BMP位图文件格式与显示设备有关,因此把它称为设备相关位图(device-dependent bitmap,DDB)文件格式。Windows 3.0以后的BMP位图文件格式与显示设备无关,因此把这种BMP位图文件格式称为设备无关位图(device-independent bitmap,DIB)格式,目的是为了让Windows能够在任何类型的显示设备上显示BMP位图文件。BMP位图文件默认的文件扩展名是BMP或者bmp。位图文件可看成是由4个部分构成:位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、颜色表(color table)和位图数据。1.位图文件头。文件头的信息主要包括与位图文件相关的信息,如文件类型、文件大小等,该部分信息共占14个字节。2.位图信息头。位图信息头的主要内容为与图像相关的信息,如位图的高度与宽度,位图的大小等,该部分信息共占40个字节。3.颜色表。该部分含有多个表项,每个表项占4个字节。对于24位真彩图像是没有这部分内容。颜色表的表项个数由biBitCount确定,为2个表项,因此颜色表的总长度为2×4个字节。4.位图数据。该部分的大小取决于压缩方法,它包含所有的位图数据,这些数据的值取决于biBitCount的值。biBitCount=1表示位图最多有两种颜色,即黑色和白色。图像数据中的每一位(0或1)表示一个像素(黑色或白色)。biBitCount=4表示位图最多有16种颜色。每个像素用4位表示,并用这4位作为颜色表的表项来查找该像素的颜色。例如,如果位图中的第一个字节的十六进制数为1F,它表示两个像素,第一像素的颜色就在颜色表的第2表项中查找,第二个像素的颜色在颜色表的第16表项里查找。biBitCount=8表示位图最多有256种颜色。每个像素用8位表示,