图像的局部填充_第1页
图像的局部填充_第2页
图像的局部填充_第3页
图像的局部填充_第4页
图像的局部填充_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

数字图像处理课程设计PAGE141课程设计目的局部区域填充是对指定区域的填充来‘擦’掉图像中的小块区域。掌握用roifill函数对特定区域进行填充的方法,通过编程熟悉函数功能,熟悉使用MATLAB软件平台,熟悉使用图像处理工具箱,掌握实验设计过程。通过构造各种几何图形并填充,使学生掌握图形填充的基本技能,了解区域填充算法,重点掌握种子填充算法。本课程设计旨在利用Matlab环境及所学的数字图像处理相关理论知识和方法实现图像的局部区域填充,通过图像局部区域填充前后对比,对填充效果进行分析,最后得出结论。2课程设计要求利用所学的数字图像处理技术,建立实现某一个主题处理的系统,利用MATLAB软件系统来实现图像的局部区域填充,要求:1、熟悉和掌握MATLAB程序设计方法;2、学习和熟悉MATLAB图像处理工具箱;3、学会运用MATLAB工具箱对图像进行处理和分析;4、能对图像jpg格式进行打开、保存、另存、退出等功能操作;5、利用所学数字图像处理技术知识、MATLAB软件对图像进行图像局部区域填充。6、在程序开发时,必须清楚主要实现函数目的和作用,需要在程序书写时做适当注释说明,理解每一句函数的具体意义和使用范围;7、掌握roipoly函数和roifill函数的功能。8、对比原图像与使用函数后图像之间的区别。3MATLAB简介MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。目前,已成为工程领域中较常用的软件工具包之一。3.1MATLAB主要功能它是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。使用它,可以较使用传统的编程语言,如C、C++等,更快的解决技术计算问题。高级语言可用于技术计算;开发环境可对代码、文件和数据进行管理;数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等;二维和三维图形函数可用于可视化数据;各种工具可用于构建自定义的图形用户界面;各种函数可将基于MATLAB的算法与外部应用程序和语言;其应用范围非常广,包括信号和图像处理、通迅、控制系统设计、测试和测量等众多应用领域。3.2MATLAB优势3.2.1工作平台和编程环境MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。3.2.2程序语言MATLAB一个高级的矩阵语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。3.2.3科学计算及数据处理能力MATLAB是一个包含大量算法的集合。其可以快捷的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和差错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。3.2.3图形处理工能图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。3.2.5模块集合工具箱MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。3.3MATLAB函数与数据类型它提供了以下类型的函数,用于执行数学运算和数据分析:·矩阵操作和线性代数·多项式和内插·傅立叶分析和筛选·数据分析和统计·优化和数值积分MATLAB可对包括双精度浮点数、单精度浮点数和整型在内的多种数据类型进行运算。附加的工具箱提供了专门的数学计算函数,用于包括信号处理、优化、统计、符号数学、偏微分方程求解以及曲线拟合在内的各个领域。MATLAB中有15种基本数据类型,主要是整型、浮点、逻辑、字符、日期和时间、结构数组、单元格数组以及函数句柄等。4设计方案4.1设计过程利用MATLAB图像处理工具箱,设计自己的Photoshop,实现图像局部区域填充。要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。然后按照自己拟定的功能要求进行程序设计和调试。1)图像的读取和保存。2)对图像指定区域的选择。3)把RGB图像转换成灰度图像。4)通过解边界的拉普拉斯方程,指定填充特定区域。5)通过roipoly函数对图像进行处理。6)编写程序,通过roifill,以实现图像局部区域填充。7)‘擦’掉一个图像指定区域的小块区域。8)设计图形用户界面,让用户能够清晰的感受到两图像之间的区别,显示和保存该选择区域。4.2设计方法4.2.1图像局部区域的选择多边形选择方法:用roipoly函数设定图像中的多边形区域,该函数返回与输入图像大小一致的二值图像BW,选中的区域值为1,其余的部分值为0.其语法格式为:BW=roipoly(I,c,r)其功能是:用向量c.r指定多边形各角点的X.Y轴的坐标。4.2.2特定区域填充MATLAB图像处理工具箱中提供的roifill函数对于特定区域进行填充,其语法格式为:J=roifill(I,c,r)其功能是:填充由向量c.r指定的多边形,c和r分别为多边形各顶点的X.Y坐标。它是通过解边界的拉普拉斯方程,利用多边形边界的点的灰度平滑的插值得到多边形内部的点。通常可以利用指定区域的填充来‘擦’掉图像中的小块区域。5程序设计5.1根据指定坐标选择六边形实现程序代码的说明:%用imread函数来读入格式为0000.jpg的图像

%设定六边形各顶点的X.Y坐标

%用roipoly函数对图像进行处理%用inshow函数来显示原始图像与roipoly函数对特定区域进行选择后的图像

用roipoly函数用于设定图像中的多边形区域实现程序代码如下:I=imread('D:\matlab\bin\000.jpg');c=[222272300272222194];r=[21217512112175];BW=roipoly(I,c,r);figure(1),imshow(I)figure(2),imshow(BW)5.2图像的局部区域填充实现程序代码的说明:%用imread函数来读入格式为jintian.jpg的图像

%把彩色图像转换成灰度图像

%设定多边形各顶点的X.Y坐标

%用roifill函数对图像进行处理%用inshow函数来显示原始图像与roifill函数对特定区域进行填充后的图像

用roifill函数用于特定区域进行填充实现代码程序如下:a=imread('D:\matlab\bin\jintian.jpg');I=rgb2gray(a);c=[200250278248199172];r=[21217512112175];J=roifill(I,c,r);subplot(1,2,1),imshow(I)figure,subplot(1,2,2),imshow(J)6仿真结果6.1指定区域仿真结果(1)原始图像:(2)指定的坐标选择六边形6.2图像局部区域填充仿真结果(1)原始图像(2)roifill函数对特定区域填充后的图像7结论通过对本次课程设计熟悉的掌握了roifill函数的运用,掌握了对特定区域的填充,根据指定的坐标选择六边形。把理论知识熟悉的运用到具体的实践中。本课程设计主要介绍了数字图像的理论知识及运用MATLAB来实现对具体区域填充的方法和研究。基于数字图像局部区域的填充,介绍了如何利用图像处理工具MATLAB来进行。在图像处理过程中选择区域起到控制操作范围的作用,利用选择区域可以按照不同的形式来选定图像的局部区域进行调整或效果处理,同时还可以保证选择区域以外的部分不会受到影响。随着计算机处理能力的不断增强,数字图像处理学科在飞速发展的同时,也越来越广泛地向许多其他学科快速交叉渗透,使得图像作为信息获取以及信息的利用等方面也变得越来越重要。目前数字图像处理的应用越来越广泛,已经渗透到工业、医疗保健、航空航天、军事等各个领域,在国民经济中发挥越来越大的作用。如伪彩色增强应用在金相分析、医学影像、岩土图像、遥感应用等。假彩色增强:主要表现在医学领域中如:肾动脉造影上的应用、乳腺肿瘤诊断上的应用等。参考文献[1]龚声蓉,刘纯平,王强等编著,数字图像处理与分析[M].—北京:清华大学出版社,2006.7,p

温馨提示

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

评论

0/150

提交评论