1、青岛理工大学琴岛学院本科毕业设计说明书(论文)I摘 要数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人们服务。数字图像处理是一种通过计算机采用一定的算法对图形图像进行处理的技术。数字图像处理技术已经在各个领域上都有了比较广泛的应用。图像处理的信息量很大,对处理速度的要求也比较高。MATLAB 强大的运算和图形展示功能,使图像处理变得更加的简单和直观。本文介绍了 MATLAB 语言的特点,基于 MATLAB 的数字图像处理环境,介绍了如何利用 MATLAB 及其图像处理工具箱进行数字图像处理,
2、并通过一些例子来说明利用 MATLAB 图像处理工具箱进行图像处理的方法。主要论述了利用MATLAB 实现图像增强、二值图像分析等图像处理。关键词:MATLAB,数字图像处理,图像增强,二值图像青岛理工大学琴岛学院本科毕业设计说明书(论文)IIAbstractDigital image processing is an emerging technology, with the development of computer hardware, real-time digital image processing has become possible due to digital image
3、 processing algorithms to appear, making it faster and faster processing speed, better for People services .Digital image processing is used by some algorithms computer graphics image processing technology. Digital image processing technology has been in various areas have a relatively wide range of
4、 applications. Image processing large amount of information on the processing speed requirement is relatively high. MATLAB powerful computing and graphics display capabilities, so that image processing becomes more simple and intuitive. This paper introduces characteristics of MATLAB language and th
5、is MATLAB-based digital image processing environment, describes how to use the MATLAB Image Processing Toolbox for its digital image processing, and through some examples to illustrate the use of MATLAB Image Processing Toolbox for image processing method. Mainly discusses the use of MATLAB for imag
6、e enhancement,2-numeric image and other image processing technologies.Key words:MATLAB, digital image processing, image enhancement,2-numeric image青岛理工大学琴岛学院本科毕业设计说明书(论文)目 录摘 要 I1 绪论 .11.1 课题研究目的及意义 .11.2 国内外研究现状 .21.3 本课题研究工作与结构安排 .32 数字图像增强处理方法简介 .52.1 基本概念 62.2 图像增强处理方法 73 MATLAB 基本知识介绍 73.1 MATL
7、AB 的概述 73.2 MATLAB 产生的历史背景 .73.3MATLAB 语言的特点.3.4MATLAB 在图像处理中的应用.4 图像增强 .94.1 空域变换增强 94.1.1 增强对比度4.1.2 图像求反4.2 空域滤波增强 94.2.1 基本原理4.2.2 线性平滑滤波器4.2.3 非线性平滑滤波器青岛理工大学琴岛学院本科毕业设计说明书(论文)4.2.4 线性锐化滤波器4.3 频域增强4.3.1 基本原理4.3.2 低通滤波4.3.3 高通滤波5 二值图像分析5.1 引言5.2 二值形态学的基本运算5.2.1 膨胀5.2.2 腐蚀5.3 二值分析进行图像处理综合应用5.3.1 噪声
8、滤除5.3.2 边界提取6 总结与展望6.1 总结6.2 展望致 谢 .14参考文献 .15附 录 .16(目录自动生成,插入引用索引和目录,目录,级别改完 2 级,然后按一级标题用加黑四号宋体,二级标题用小四宋体调整格式青岛理工大学琴岛学院本科毕业设计说明书(论文)51 绪论本章简略介绍课题的研究目的及意义,该课题国内外研究现状以及论文内容安排等。1.1 课题研究目的及意义数字图像处理(Digital Image Processing) ,就是利用数字计算机或者其他数字硬件,对从图像信息转换而得到的电信号进行某些数学运算,以提高图像的实用性。例如从卫星图片中提取目标物的特征参数,三维立体断层
9、图像的重建等。总的来说,数字图像处理包括点运算、几何处理、图像增强、图像复原、图像形态学处理、图像编码、图像重建、模式识别等。由于计算机处理能力的不断增强,数字图像处理学科在飞速发展的同时,也越来越广泛地向许多其他学科快速交叉渗透,使得图像作为信息获取以及信息的利用等方面也变得越来越重要。目前数字图像处理的应用越来越广泛,已经渗透到工业、医疗保健、航空航天、军事等各个领域,在国民经济中发挥越来越大的作用。MathWorks 公司推出的 MATLAB 软件是学习数理知识的好帮手。应用 MATLAB友好的界面和丰富、实用、高效的指令及模块,可以使人较快地认识、理解图像处理的相关概念,逐步掌握图像信
10、号处理的基本方法,进而能够解决相关的工程和科研中的问题。图 像 是 人 类 获 取 和 交 换 信 息 的 主 要 来 源 , 因 此 , 图 像 处 理 的 应 用 领 域 必然 涉 及 到 人 类 生 活 和 工 作 的 方 方 面 面 。 随 着 人 类 活 动 范 围 的 不 断 扩 大 , 图 像处 理 的 应 用 领 域 也 将 随 之 不 断 扩 大 , 已 在 国 家 安 全 、 经 济 发 展 、 日 常 生 活中 充 当 越 来 越 重 要 的 角 色 ,对 国 计 民 生 的 作 用 不 可 低 估 。1.2 国 内 外 研 究 现 状数 字 图 像 处 理 最 早 出
11、现 于 20 世 纪 50 年 代 , 当 时 的 电 子 计 算 机 已 经 发 展到 一 定 水 平 , 人 们 开 始 利 用 计 算 机 来 处 理 图 形 和 图 像 信 息 。 数 字 图 像 处 理 作为 一 门 学 科 大 约 形 成 于 20 世 纪 60 年 代 初 期 。早 期 的 图 像 处 理 的 目 的 是 改 善 图 像 的 质 量 , 它 以 人 为 对 象 , 以 改 善 人 的视 觉 效 果 为 目 的 。 图 像 处 理 中 , 输 入 的 是 质 量 低 的 图 像 , 输 出 的 是 改 善 质 量青岛理工大学琴岛学院本科毕业设计说明书(论文)6后 的
12、 图 像 , 常 用 的 图 像 处 理 方 法 有 图 像 增 强 、 复 原 、 编 码 、 压 缩 等 。 首 次获 得 实 际 成 功 应 用 的 是 美 国 喷 气 推 进 实 验 室 ( JPL) 。 他 们 对 航 天 探 测 器 徘徊 者 7 号 在 1964 年 发 回 的 几 千 张 月 球 照 片 使 用 了 图 像 处 理 技 术 , 如 几 何 校正 、 灰 度 变 换 、 去 除 噪 声 等 方 法 进 行 处 理 , 并 考 虑 了 太 阳 位 置 和 月 球 环 境 的影 响 , 由 计 算 机 成 功 地 绘 制 出 月 球 表 面 地 图 , 获 得 了 巨
13、 大 的 成 功 。 随 后 又 对探 测 飞 船 发 回 的 近 十 万 张 照 片 进 行 更 为 复 杂 的 图 像 处 理 , 以 致 获 得 了 月 球 的地 形 图 、 彩 色 图 及 全 景 镶 嵌 图 , 获 得 了 非 凡 的 成 果 , 为 人 类 登 月 创 举 奠 定 了坚 实 的 基 础 , 也 推 动 了 数 字 图 像 处 理 这 门 学 科 的 诞 生 。 在 以 后 的 宇 航 空 间 技术 , 如 对 火 星 、 土 星 等 星 球 的 探 测 研 究 中 , 数 字 图 像 处 理 技 术 都 发 挥 了 巨 大的 作 用 。 数 字 图 像 处 理 取
14、得 的 另 一 个 巨 大 成 就 是 在 医 学 上 获 得 的 成 果 。 1972 年 英 国 EMI 公 司 工 程 师 Housfield 发 明 了 用 于 头 颅 诊 断 的 X 射 线 计 算 机断 层 摄 影 装 置 , 也 就 是 我 们 通 常 所 说 的 CT( Computer Tomograph) 。 CT的 基 本 方 法 是 根 据 人 的 头 部 截 面 的 投 影 , 经 计 算 机 处 理 来 重 建 截 面 图 像 , 称为 图 像 重 建 。 1975 年 EMI 公 司 又 成 功 研 制 出 全 身 用 的 CT 装 置 , 获 得 了 人体 各
15、个 部 位 鲜 明 清 晰 的 断 层 图 像 。 1979 年 , 这 项 无 损 伤 诊 断 技 术 获 得 了 诺贝 尔 奖 , 说 明 它 对 人 类 作 出 了 划 时 代 的 贡 献 。与此同时,图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,属于这些领域的有航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,使图像处理成为一门引人注目、前景远大的新型学科。随着图像处理技术的深入发展,从 70 年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像处理向更高、更深层次发展。人们已开始研究如何用计算机系统解释图像,实现类似人
16、类视觉系统理解外部世界,这被称为图像理解或计算机视觉。很多国家,特别是发达国家投入更多的人力、物力到这项研究,取得了不少重要的研究成果。其中代表性的成果是 70 年代末 MIT 的 Marr 提出的视觉计算理论,这个理论成为计算机视觉领域其后十多年的主导思想。图像理解虽然在理论方法研究上已取得不小的进展,但它本身是一个比较难的研究领域,存在不少困难,因人类本身对自己的视觉过程还了解甚少,因此计算机视觉是一个有待人们进一步探索新的领域。青岛理工大学琴岛学院本科毕业设计说明书(论文)71.3 本课题研究工作与结构安排本文主要以 MATLAB 为工具来实现数字图像的处理。全文共分 6 章,结构安排如
17、下:第一章 绪论,介绍了课题研究目的及意义和国内外研究现状。第二章 介绍了数字图像增强处理的基本简介。第三章 介绍了 Matlab 基本知识的介绍。第四章 介绍了图像增强的原理及利用 MATLAB 来实现图像增强。第五章 介绍了二值图像操作原理及利用 MATLAB 实现二值图像操作。第六章 总结与展望。青岛理工大学琴岛学院本科毕业设计说明书(论文)82 数字图像增强处理基本简介2.1 基本概念图像增强是一类基本的图像处理技术,其目的是对图像进行加工,以得到对具体应用来说视觉效果更好、更有用的图像。这里的好和有用要因具体的应用目的和要求而异,并且所需的具体增强技术也可不同。目前常用的增强技术根据
18、其处理所进行的空间不同,可分为基于图像域的方法和基于变化域的方法。第一类,直接在图像所在的空间进行处理,也就是在像素组成的空间里直接对像素进行操作;第二类,在图像的变化域对图像进行间接处理。2.2 图像增强处理的方法简介2.1.1 空间变换增强空间变换增强又包含了增强对比度和图像求反。增强对比度实际是增强原图像的各部分的反差。实际中往往是通过原图中某两个灰度值之间的动态范围来实现的。对图像求反是将原来的灰度值翻转,简单的说就是使黑变白,使白变黑。普通的黑白底片和照片就是这样的关系。具体的变换就是将图像中每个像素的灰度值根据变换曲线进行映射。2.1.2 空域滤波增强空域滤波可分为线形滤波和非线形
19、滤波两类。线形滤波器的设计常基于对傅立叶变换的分析。非线形空域滤波器则一般直接对邻域进行操作。另外各种滤波器根据功能又主要分成平滑滤波和锐化滤波。平滑可用低通来实现,锐化可用高通来实现平滑滤波器:它能减弱或消除傅立叶空间的高频分量,但不影响在低频分量。因为高频分量对应图像中的区域边缘等灰度值具有较大较快变化的部分,滤波器将这些分量滤去可使图像平滑。锐化滤波器:它能减弱或消除傅立叶空间的高频分量2.1.3 频域增强频域增强的基本原理是:卷积理论是频域技术的基础。设函数 f(x,y)与青岛理工大学琴岛学院本科毕业设计说明书(论文)9线性位不变算子 h(x,y)的卷积结果是 g(x,y) ,即 g(
20、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)在频域空间对图像进行增强加工操作。常用的频域增强方法有低通滤波和高通滤波。低通滤波也称低频滤波器。图像的能量大部分集中在幅度谱的低频和中频度,而图像的边缘和噪声对应于高频部分。因此能降低高频成分幅度的滤波器就能减弱噪声的影响。高通滤波也称高频滤波器,它的频值在 0 频率处单位为 1
21、,随着频率的增长,传递函数的值逐渐增加;当频率增加到一定值之后传递函数的值通常又回到 0 值或者降低到某个大于 1 的值。在前一种情况下,高频增强滤波器实际上是依照能够带通滤波器,只不过规定 0 频率处的增益为单位 1。实际应用中,为了减少图像中面积大且缓慢变化的成分的对比度,有时让0 频率处的增益小于单位 1 更合适。如果传递函数通过原点,则可以称为laplacian 滤波器。青岛理工大学琴岛学院本科毕业设计说明书(论文)103 MATLAB 基本知识介绍3.1 MATLAB 的概述MATLAB 是 MATrix LABoratory(“矩阵实验室” )的缩写,是由美国MathWorks 公
22、司开发的集数值计算、符号计算和图形可视化三大基本功能于一体的,功能强大、操作简单的语言。是国际公认的优秀数学应用软件之一。MATLAB 的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用 MATLAB 来解算问题要比用 C,FORTRAN 等语言完相同的事情简捷得多。MATLAB 包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充 MATLAB 的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类.开放性使 MA
23、TLAB 广受用户欢迎.除内部函数外,所有 MATLAB 主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包.3.2 MATLAB 产生的历史背景在 70 年代中期,Cleve Moler 博士和其同事在美国国家科学基金的资助下开发了调用 EISPACK 和 LINPACK 的 FORTRAN 子程序库.EISPACK 是特征值求解的FOETRAN 程序库,LINPACK 是解线性方程的程序库.在当时,这两个程序库代表矩阵运算的最高水平.到 70 年代后期,身为美国 New Mexico 大学计算机系系主任的 Cleve Moler,在给学生讲
24、授线性代数课程时,想教学生使用 EISPACK 和 LINPACK 程序库,但他发现学生用 FORTRAN 编写接口程序很费时间,于是他开始自己动手,利用业余时间为学生编写 EISPACK 和 LINPACK 的接口程序.Cleve Moler 给这个接口程序取名为 MATLAB,该名为矩阵(matrix)和实验室(labotatory)两个英文单词的前三个字母的组合.在以后的数年里,MATLAB 在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传.1983 年春天,Cleve Moler 到 Standford 大学讲学,MATLAB 深深地吸引了工青岛理工大学琴岛学院本科毕
25、业设计说明书(论文)11程师 John Little.John Little 敏锐地觉察到 MATLAB 在工程领域的广阔前景.同年,他和 Cleve Moler,Steve Bangert 一起,用 C 语言开发了第二代专业版.这一代的 MATLAB 语言同时具备了数值计算和数据图示化的功能.1984 年,Cleve Moler 和 John Little 成立了 Math Works 公司,正式把MATLAB 推向市场,并继续进行 MATLAB 的研究和开发.在当今 30 多个数学类科技应用软件中,就软件数学处理的原始内核而言,可分为两大类.一类是数值计算型软件,如 MATLAB,Xmat
26、h,Gauss 等,这类软件长于数值计算,对处理大批数据效率高;另一类是数学分析型软件,Mathematica,Maple 等,这类软件以符号计算见长,能给出解析解和任意精确解,其缺点是处理大量数据时效率较低.MathWorks 公司顺应多功能需求之潮流,在其卓越数值计算和图示能力的基础上,又率先在专业水平上开拓了其符号计算,文字处理,可视化建模和实时控制能力,开发了适合多学科,多部门要求的新一代科技应用软件 MATLAB.经过多年的国际竞争,MATLAB 以经占据了数值软件市场的主导地位.在 MATLAB 进入市场前,国际上的许多软件包都是直接以 FORTRANC 语言等编程语言开发的。这种
27、软件的缺点是使用面窄,接口简陋,程序结构不开放以及没有标准的基库,很难适应各学科的最新发展,因而很难推广。MATLAB 的出现,为各国科学家开发学科软件提供了新的基础。在 MATLAB 问世不久的 80 年代中期,原先控制领域里的一些软件包纷纷被淘汰或在 MATLAB 上重建。时至今日,经过 MathWorks 公司的不断完善,MATLAB 已经发展成为适合多学科,多种工作平台的功能强大大大型软件。在国外,MATLAB 已经经受了多年考验。在欧美等高校,MATLAB 已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生
28、,硕士生,博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB 被广泛用于科学研究和解决各种具体问题。在国内,特别是工程界,MATLAB 一定会盛行起来。可以说,无论你从事工程方面的哪个学科,都能在 MATLAB 里找到合适的功能。3.3 MATLAB 语言的特点一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它青岛理工大学琴岛学院本科毕业设计说明书(论文)12有着不同于其他语言的特点,正如同 FORTRAN 和 C 等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解
29、放出来。MATLAB 最突出的特点就是简洁。MATLAB 用更直观的,符合人们思维习惯的代码,代替了 C 和 FORTRAN 语言的冗长代码。MATLAB 给用户带来的是最直观,最简洁的程序开发环境。以下简单介绍一下 MATLAB 的主要特点。(1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB 程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用 MATLAB 进行科技开发是站在专家的肩膀上。(2)运算符丰富。由于 MATLAB 是用 C 语言编写的,MATLAB 提供了和 C
30、 语言几乎一样多的运算符,灵活使用 MATLAB 的运算符将使程序变得极为简短。 (3)MATLAB 既具有结构化的控制语句(如 for 循环,while 循环,break语句和 if 语句) ,又有面向对象编程的特性。(4)程序限制不严格,程序设计自由度大。例如,在 MATLAB 里,用户无需对矩阵预定义就可使用。(5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。(6)MATLAB 的图形功能强大。在 FORTRAN 和 C 语言里,绘图都很不容易,但在 MATLAB 里,数据的可视化非常简单。MATLAB 还具有较强的编辑图形界面的能力。(7)MATLAB
31、的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于 MATLAB 的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。(8)功能强大的工具箱是 MATLAB 的另一特色。MATLAB 包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科。而学科性工具箱是专业性比较强的,如青岛理工大学琴岛学院本科毕业设计说明书(论文)13control,toolbox, signl processi
32、ng toolbox,commumnication toolbox 等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。(9)源程序的开放性。开放性也许是 MATLAB 最受人们欢迎的特点。除内部函数以外,所有 MATLAB 的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。3.4 MATLAB 在图像处理中的应用图像处理工具包是由一系列支持图像处理操作的函数组成的。所支持的图像处理操作有:图像的几何操作、邻域和区域操作、图像变换、图像恢复与增强、线性滤波和滤波器设计、变
33、换(DCT 变换等) 、图像分析和统计、二值图像操作等。下面就 MATLAB 在图像处理中各方面的应用分别进行介绍。(1) 图像文件格式的读写和显示。MATLAB 提供了图像文件读入函数 imread(),用来读取如:bmp、tif、tiffpcx 、jpg 、gpeg 、hdf、xwd 等格式图像文;图像写出函数 imwrite() ,还有图像显示函数 image()、imshow()等等。(2) 图像处理的基本运算。MATLAB 提供了图像的和、差等线性运算 ,以及卷积、相关、滤波等非线性算。例如,conv2(I,J)实现了 I,J 两幅图像的卷积。(3) 图像变换。MATLAB 提供了一
34、维和二维离散傅立叶变换(DFT) 、快速傅立叶变换(FFT) 、离散余弦变换 (DCT) 及其反变换函数,以及连续小波变换(CWT)、离散小波变换(DWT)及其反变换。(4) 图像的分析和增强。针对图像的统计计算 MATLAB 提供了校正、直方图均衡、中值滤波、对比度调整、自适应滤波等对图像进行的处理。(5) 图像的数学形态学处理。针对二值图像,MATLAB 提供了数学形态学运算函数;腐蚀(Erode)、膨胀(Dilate)算子,以及在此基础上的开 (Open)、闭(Close)算子、厚化 (Thicken) 、薄化 (Thin) 算子等丰富的数学形态学运算。以上所提到的 MATLAB 在图像
35、中的应用都是由相应的 MATLAB 函数来实现的,青岛理工大学琴岛学院本科毕业设计说明书(论文)14使用时,只需按照函数的调用语法正确输入参数即可。具体的用法可参考MATLAB 丰富的帮助文档。图像边缘对图像识别和计算机分析十分有用,在MATLAB 中,函数 edge()用于灰度图像边缘的提取,它支持六种不同的边缘提取方法,即 Sobel 方法、Prewitt 方法、Robert 方法,Laplacian2Gaussian方法、过零点方法和 Canny 方法。青岛理工大学琴岛学院本科毕业设计说明书(论文)154 图像增强图像增强是一类基本的图像处理技术,其目的是对图像进行加工,以得到对具体应用
36、来说视觉效果更好、更有用的图像。这里的好和有用要因具体的应用目的和要求而异,并且所需的具体增强技术也可不同。目前常用的增强技术根据其处理所进行的空间不同,可分为基于图像域的方法和基于变化域的方法。第一类,直接在图像所在的空间进行处理,也就是在像素组成的空间里直接对像素进行操作;第二类,在图像的变化域对图像进行间接处理。空域增强方法可表示为:g(x,y)=EHf(x,y)其中 f( x,y)和 g(x,y)分别为增强前后的图像,EH 代表增强操作。4.1 空域变换增强4.1.1 增强对比度增强对比度实际是增强原图像的各部分的反差。实际中往往是通过原图中某两个灰度值之间的动态范围来实现的(如图 4
37、-1) 。图 4-1 增强对比度在图 411 中可以看出,通过变换可以使原图的较高的和较低的灰度值的动态范围减小了,而原图在二者之间的动态范围增加了,从而其范围的对比度增加了。MATLAB 代码所示:X1=imread(pout.tif);青岛理工大学琴岛学院本科毕业设计说明书(论文)16figure,imshow(X1)f0=0;g0=0;f1=70;g1=30;f2=180;g2=230;f3=255;g3=255;r1=(g1-g0)/(f1-f0);b1=g0-r1*f0;r2=(g2-g1)/(f2-f1);b2=g1-r2*f1;r3=(g3-g2)/(f3-f2);b3=g2-r
38、3*f2;m,n=size(X1);X2=double(X1);for i=1:mfor j=1:nf=X2(i,j);g(i,j)=0;if(f=0)elseg(i,j)=0;end青岛理工大学琴岛学院本科毕业设计说明书(论文)18endendfigure,imshow(mat2gray(g)图像处理图如图 4-4 所示:图 4-4 图像求反后4.2 空域滤波增强一般情况下,像素的邻域比该像素要大,也就是说这个像素的邻域中除了本身以外还包括其他像素。在这种情况下,g(x,y)在(x,y)位置处的值不仅取决于 f(x,y)在以(x,y)为中心的邻域内所有的像素的值。如仍以 s 和 t 分别表示
39、f(x,y)在(x,y)位置处的灰度值,并以 n(s)代表 f(x,y)在(x,y)邻域内像素的灰度值,则 t=EAs,n(s)为在邻域内实现增强操作,常可利用模板与图像进行卷积。每个模板实际上是一个二维数组,其中各个元素的取值定了模板的功能,这种模板操作也称为空域滤波。4.2.1 基本原理空域滤波可分为线形滤波和非线形滤波两类。线形滤波器的设计常基于对傅立叶变换的分析。非线形空域滤波器则一般直接对邻域进行操作。另外各种滤波器根据功能又主要分成平滑滤波和锐化滤波。平滑可用低通青岛理工大学琴岛学院本科毕业设计说明书(论文)19来实现,锐化可用高通来实现平滑滤波器:它能减弱或消除傅立叶空间的高频分
40、量,但不影响在低频分量。因为高频分量对应图像中的区域边缘等灰度值具有较大较快变化的部分,滤波器将这些分量滤去可使图像平滑。锐化滤波器:它能减弱或消除傅立叶空间的高频分量空域滤波器都是利用模板卷积,主要步骤如下:(1)将模板在图中漫游,并将模板中心与图中某个像素位置重合;(2)将模板上的系数与模板下对应的像素相乘;(3)将所有的乘积相加;(4)将和(模板的输出响应)赋给图中对应的模板中心位置像素。下面分别介绍在 MATLAB 中如何应用平滑和锐化滤波器。4.2.2 线性平滑滤波器线性低通滤波器是最常用的线性平滑滤波器。这种滤波器的所有系数都是正的。对 3*3 的模板来说,最简单的操作是取所有系数
41、都为 1。为保证输出图像仍在原来的灰度范围内,在计算 R 后要将其除以 9 再进行赋值。这种方法称为邻域平均法。MATLAB 实现均值过滤器的代码所示: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-5、图 4-6 和图 4-7 所示。青岛理工大学琴岛学院本科毕业设计说明书(论文)20图 4-5 原图 图 4-6 加入椒
42、盐噪声图像图 4-7 3*3 的均值滤波器处理结果4.2.3 非线性平滑滤波器中值滤波器是最常用的非线性平滑滤波器。它是一种临域运算,类似于卷积,但计算的不是加权求和,而是把邻域中的像素按灰度级进行排序,然后选择改组的中间值作为输出的像素值。具体步骤:(1)将模板在图像中漫游,并将模板中心和图像某个像素的位置重合;(2)读取模板下对应像素的灰度值;(3)将这些灰度值从小到大排成一列;(4)找出这些值排在中间的一个;(5)将这个中间值赋给对应模板中心位置的像素。青岛理工大学琴岛学院本科毕业设计说明书(论文)21MATLAB 实现中值滤波器代码所示:I=imread(saturn.tif);J=i
43、mnoise(I,salt K1=medfilt2(J,3,3);figure,imshow(K1)中值滤波的结果如图 4-8 所示。图 4-8 中值滤波结果4.2.4 线性锐化滤波器线性高通滤波器是最常用的线性锐化滤波器。这种滤波器的中心系数都是正的,而周围的系数都是负的。对 3*3 的模板来说,典型的系数取值是:-1 1 1;-1 8 1;-1 1 -1事实上这是拉普拉斯算子,所有的系数之和为 0。当这样的模板放在图像中灰度值是常数或变化很小的区域时,其输出为 0 或很小。这个滤波器将原来的图像中的零频域分量去除了,也就是将输出的图像的平均值变为 0,这样就会有一部分像素的灰度值小于 0。
44、在图像处理中我们一般只考虑正的灰度值,所以还有将输出图像的灰度值范围通过尺度变回到所要求的范围。MATLAB 代码所示:I=imread(saturn.tif);m=fspecial(laplacian)I1=filter2(m,I)h=fspecial(unsharp,0.5);青岛理工大学琴岛学院本科毕业设计说明书(论文)22I2=filter2(h,I)/255;subplot(1,2,1);imshow(I1);title(高通滤波 laplacian 算子)subplot(1,2,2);imshow(I2);title(高通滤波 unsharp)处理结果如图 4-9 所示:图 4-9
45、 空域高通滤波4.3 频域增强4.3.1 基本原理卷积理论是频域技术的基础。设函数 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)将其与一个(根据需要设计的)转移函数相乘;青岛理工大学琴岛学院本科毕业设计说明书(论文)23(3)再将结果进行傅立叶反变换以得到增强的图。频域增强的两个关键步骤:(
46、1)将图像从空域转换到频域所需的变换及将图像从频域空间转换回空域所需的变换;(2)在频域空间对图像进行增强加工操作。常用的频域增强方法有低通滤波和高通滤波。以下分别介绍在 MATLAB 中如何实现。4.3.2 低通滤波图像的能量大部分集中在幅度谱的低频和中频度,而图像的边缘和噪声对应于高频部分。因此能降低高频成分幅度的滤波器就能减弱噪声的影响。Butterworth 低通滤波器是一种物理上可以实现的低通滤波器,n 阶,截断频率为 d0 的 Butterworth 低通滤波器的转移函数为:H(u,v)= nd20/vu1),(用 MATLAB 实现 Butterworth 低通滤波器的代码所示:
47、I1=imread(Saturn.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:N1for j=1:N2青岛理工大学琴岛学院本科毕业设计说明书(论文)24d=sqrt(i-n1)2+(j-n2)2);h=1/(1+0.414*(d/d0)(2*n);result(i,j)=h*g(i,j);endendresult=ifftshift(
48、result);X2=ifft2(result);X3=uint8(real(X2);figure,imshow(X3)原图和处理结果如图 4-10 和图 4-11 所示图 4-10 加噪 图 4-11 去噪4.3.3 高通滤波高通滤波也称高频滤波器,它的频值在 0 频率处单位为 1,随着频率的增长,传递函数的值逐渐增加;当频率增加到一定值之后传递函数的值通常又回到 0 值或者降低到某个大于 1 的值。在前一种情况下,高频增强滤波器实际上是依照能够带通滤波器,只不过规定 0 频率处的增益为单位 1。实际应用中,为了减少图像中面积大且缓慢变化的成分的对比度,有时让0 频率处的增益小于单位 1 更
49、合适。如果传递函数通过原点,则可以称为laplacian 滤波器。n 阶截断频率为 d0 的 Butterworth 高通滤波器的转移函数为:青岛理工大学琴岛学院本科毕业设计说明书(论文)25H(u,v)= nd2vu/01),(MATLAB 实现 Butterworth 高通滤波器代码所示: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:N1for j=1:N2d=sqrt(i-n1)2+(j-n2)2);if d=0h=0;elseh=1/(1+(d0/d)(2*n);endresult(i,j)=h*g(i,j);endendresult=ifftshift(result);X2=ifft2(result);X3=uint8(real(X2);figure,imshow(X3)原图和处理结果如图 4-12 和 4-13 所示。青岛理工大学琴岛学院本科毕业设计说明