《数字图像处理》课程教学算法演示系统

 2022-01-17 11:01

论文总字数:19431字

目 录

1绪论 3

1.1 研发数字图像处理演示系统的主要目的和意义 3

1.2 论文的研究内容和结构 3

2 Matlab及Matlab GUI 4

2.1 Matlab 4

2.2 Matlab GUI 5

2.2.1 MATLAB的可视化工具 5

2.2.2 Matlab GUI控件 5

3 系统设计 6

3.1 模块设计 6

3.1.1 图像类型 6

3.1.2 图像运算 7

3.1.3 图像变换 8

3.1.4 图像增强 8

3.1.5 图像复原 9

3.1.6 图像分析 9

3.2 界面设计 10

3.2.1 界面设计原则 10

3.2.2 界面设计步骤 10

4 系统实现 15

4.1 获取和修改控件的属性值 15

4.2 实例说明 15

5系统演示 19

5.1 图像类型 20

5.2 图像运算 21

5.3 图像变换 28

5.4 图像增强 29

5.5 图像复原 34

5.6 图像分析 34

6总结与展望 36

参考文献 37

致谢 38

《数字图像处理》课程教学算法演示系统

李烨

,China

Abstract: Now digital image processing has applied to every aspects in our daily life, for its importance, many universities have set up the course about it, so the digital image process demonstration system for learning algorithms is designed to help teachers about the course, covering image types, image operation, image conversion, image enhancement, image restoration and image analysis. It shows the algorithms processing to students, aiming to transform the teaching way from complex and esoteric mathematical formulas to direct-viewing demonstration, it devotes to helping students understand the theory, deepen the impression of realization process, and activate their learning interests.

Key word: Demonstration system for learning; MATLAB; Digital Image Processing

1绪论

1.1研发数字图像处理演示系统的主要目的和意义

二十世纪80年代,数码相机得到快速的发展和大量普及,数字图像处理技术也水涨船高。由此,数字图像处理软件扶摇直上,纷纷如雨后春笋般出现在人们的视野中。随着计算机技术的光速发展,数字图像处理软件的功能亦日趋强大[1]

1984年,MacPaint横空出世,在图像处理领域立了一块里程碑,它实现了图像编辑功能,并且创造出套索和颜料桶这两个现在我们熟知的工具。1992年,xRes又给我们带来了图层这个具有重要意义的概念。1999年,Adobe以专业排版这个亮点推出了InDesign,此功能创意十足且十分强大。另外,Adobe旗下还有另一款软件---Adobe Photoshop,元老级别的图像处理软件,拥有极高的市场占有率,熟练掌握它几乎成了如今相关专业人士的必要技能。2010年,iPad在平板电脑和触屏智能手机里大展手脚。如今,基于Android的图像处理软件也是大步阔进,功能强大,界面美观,大大丰富了人们的生活[2]

但是以上所有数字图像处理软件都是商业软件,都隐藏了底层算法实现,只对用户开放集成完毕的具体功能,这方便了使用者,但却不利于学习者。在现有的图像处理应用软件中,教学演示用的图像处理系统极为缺乏。一般在课堂上,学习者只能通过学习书本上的的数学理论知识结合图像来脑补图像处理的实现过程,这样的学习方式比较抽象艰难。所以现在很多老师都会选择通过多媒体展示方式用Matlab在课堂上向学生演示处理图像的过程,这样给学生的感受能够更加直观生动,让学生能更容易得理解图像处理的本质,但是每当要演示不同的图像处理算法的时候,教师就需要反复输入各种语句来重新生成新的处理图像,重复键入,浪费时间,有很多不便之处。另外,数字图像处理这门课程要求比较高,入门内容多为抽象枯燥的数学理论知识,学习者很容易被繁多复杂的数学公式吓住,从而被挡在图像处理的门外。因此,本项目为将艰深枯燥的数学原理公式转换为直观实际的图像处理展示而设计了一个教学演示用的数字图像处理系统,来辅助教师教学,帮助学习者理解和掌握图像处理的基本概念,加深对图像处理实现过程的印象,从而激发学习兴趣。

1.2 论文的组织结构

本文就数字图像处理教学演示系统进行阐述,全文一共有六部分,其中每一部分的内容如下:

第一部分阐述了数字图像处理教学演示系统的目的和意义,然后简要介绍了本文的主要内容和文章结构。

第二部分就本系统的相关开发工具做了介绍 ---Matlab软件及Matlab GUI编程,具体说明了它们特点以及选用Matlab作为编写数字图像处理教学演示系统的语言的原因。

第三部分介绍了系统的设计,简要介绍了模块的设计及相关理论知识,还介绍了控件的布局等界面设计。

第四部分介绍系统的实现,主要说明如何将功能代码和界面联系在一起,并以一个界面的实现为例做出了详细解释。

第五部分将系统演示了一遍,展示了系统的所有功能。

最后是全文总结,并分析了此系统存在的不足和缺憾之处。

2 Matlab及Matlab GUI

2.1 Matlab

MATLAB(Matrix Laboratory),中文译为矩阵实验室,它将诸多强大功能集成在一个视窗环境中,简化了繁复的有效数值计算的编程,便利了众多科学领域,在当今国际科学计算软件中独占鳌头。它具有这些特点:

1)编程环境

MATLAB由一系列方便用户使用函数和文件的工具组成。这些工具多采用图形界面,对用户友好,操作简单,人机交互性强。MATLAB还提供了完整的联机查询帮助系统和完备的调试系统,程序可以不经过编译就直接运行,并且报错器会及时提供出错信息供用户调试和改正。

2) 简单易用

Matlab是高级智能的语言,用户可以在命令窗口中一句一句输入命令语句使其执行,也可以直接运行事先编写好的M文件。更加方便用户的是它的类似于C 的语法特征,属于解释性语言,即使不是专业人士也可以很快掌握并且使用它。

3)强处理能力

MATLAB是一个拥有大量数学运算函数计算算法的集合,功能极其强大,可以满足用户各方面的需求。库里所使用的算法都由各领域专业人士不断更新,以保证函数都是科研和工程计算中的最新研究成果,并且会被进行各种优化和容错处理。

4)图像处理

MATLAB具有极其强大的的数据可视化功能,可以将图形生动地表现出来。它的绘画图像命令简单快捷,程序运行过程中就能绘画出出色的二维图像或者三维图像,另外,允许用户自己调节图像的很多属性:图像的线型、颜色、坐标类型、标题、附注、视角甚至光线等,这些自由方便的设置可以让图像表现得更加细腻完善。

过去VB、C、Fortran是图像处理系统的宠儿,但是在整个开发过程中,开发人员需要编写大量的代码来完成系统,图像格式的解析还有实现算法也都需要一步一步代码实现,程序编写难度大并且出错率高,执行效率、处理结果也很有可能不尽人意。

Matlab则不然,它是高度集成化的语言,大量的程序代码在后台为其提供强有力的支撑,再加之Matlab特有的图像处理工具(Image Processing Toolbox),使得很多繁复纷乱的算法只需要一句简单的命令语句就可以瞬间执行,简单方便,让图像处理人员从复杂耗时的算法编程里解脱出来,同时又因为Matlab是边解释边执行的,执行效率得到了大大的提高。

2.2 Matlab GUI

Matlab GUI,即Matlab GUIDE(图像用户界面开发坏境,Graphical User Interface Development Environment),是Matlab提供的一套可视化的创建图形窗口的工具。它可以让用户方便地创建GUI应用程序:用户自行设计GUI布局界面,Matlab会自动生成对应框架的M文件,用户只需在相应的函数块中编写控件功能代码,便可成功编制自己的应用程序。

2.2.1 MATLAB的可视化工具

布局编辑器(Layout Editor):布局编辑器是整个GUI设计界面的控制面板,在布局编辑器里才可以访问所有GUI工具。启动它有两种方法,一种是在命令窗口中输入guide,命令,另一种是在工具栏中点击new按钮,然后点击Graphical User Interface。

几何排列工具(Alignment Tool):调整选中对象的间距和对齐方式。

属性编辑器(Property Inspector):可以查询并直接修改对象的所有属性值。

对象浏览器Object Browser):可以获取当前界面中的所有对象的类型和基本信息,显示各种控件的父子关系和唯一标识,可以很直观地了解界面的结构组成。

2.2.2 Matlab GUI控件

Matlab GUI拥有的控件可以分为两类:静态控件和动作控件。静态控件只作为显示用,如静态文本框,动作控件则可以响应用户的动作,如提交按钮。每一种控件都有很多属性可以设置,以键值对的形式出现,这些属性控制控件的外观显示和功能效果。

(1) 提交按钮(Push Buttons):用于执行某种预计特定的功能操作。

剩余内容已隐藏,请支付后下载全文,论文总字数:19431字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;