图像邻域与块运算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
MATLAB7.0的工作环境包括当前工作窗口、命令历史记录窗口、命令控制窗口、图形处理窗口、当前路径选择菜单、程序编辑器、变量查看器、模型编辑器、GUI编辑器以及丰富的函数库和MATLAB附带的大量M文件。
在MATLAB图像处理中,有时并不需要对整个图像进行操作,而是对图像中的某一部分进行操作,即块操作。比如许多线性滤波操作和二进制图像均按照块操作方式实现。MATLAB的图像处理工具箱提供了多个专门用于图像块操作的函数,如dilate函数等。此外,工具箱提供的大量通用函数也适用于块操作。利用这些函数,用户可以进行各种块操作,包括滑动邻域操作和块处理操作。
关键词: MATLAB图像处理滑动邻域操作块处理操作
目录
1课程设计目的 (1)
2课程设计要求 (2)
3 MATLAB 及其图像处理工具箱 (3)
3.1 MATLAB的广泛应用 (4)
3.2 MATLAB软件系统构成 (5)
3.3 MATLAB语言 (5)
3.4 MATLAB中的傅里叶变换函数[2] (6)
3.5 MATLAB GUI设计工具简介 (7)
3.6 GUI开发环境 (9)
3.7 GUIDE菜单编辑工具 (9)
4 图像邻域与块处理 (10)
4.1 块处理操作 (10)
4.2 滑动邻域操作 (11)
4.3 分离块操作 (13)
4.4 滑动邻域操作程序 (15)
4.5 分离块处理操作程序 (16)
5 总结和体会 (19)
参考文献 (20)
1课程设计目的
1)掌握matlab的基本操作和函数的实用
2)掌握二值图像滑动邻域操作、分离块操作的基本方法
3)编程实现滑动邻域操作、分离块操作
2课程设计要求
1) 使用nlfilter函数进行图像滑动邻域操作,并观察操作后图像的变化。
2) 使用blkproc函数进行图像分离块操作,观察操作后的图像变化情况。
3) 在程序开发时,必须清楚主要实现函数目的和作用,需要在程序书写时做适当注释说明,理解每一句函数的具体意义和使用范围。
4) 分析和对比处理前后的图像,能看出彩色增强效果,得出相应结论。
3 MATLAB及其图像处理工具箱
Matlab是MathWorks公司于1982年推出的一套高性能的数值计算和可视化软件。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便、界面良好的用户环境。它还包括了Toolbox(工具箱)的各类问题的求解工具,可用来求解特定学科的问题。其特点是:[1,2,4]
(1) 可扩展性:Matlab最重要的特点是易于扩展,它允许用户自行建立指定功能的M文件。对于一个从事特定领域的工程师来说,不仅可利用Matlab 所提供的函数及基本工具箱函数,还可方便地构造出专用的函数。从而大大扩展了其应用范围。当前支持Matlab的商用Toolbox(工具箱)有数百种之多。而由个人开发的Toolbox则不可计数。
(2) 易学易用性:Matlab不需要用户有高深的数学知识和程序设计能力,不需要用户深刻了解算法及编程技巧。
(3) 高效性:Matlab语句功能十分强大,一条语句可完成十分复杂的任务。如fft语句可完成对指定数据的快速傅里叶变换,这相当于上百条C语言语句的功能。它大大加快了工程技术人员从事软件开发的效率。据MathWorks公司声称,Matlab软件中所包含的Matlab源代码相当于70万行C代码。
3.1 MATLAB的广泛应用
由于Matlab具有如此之多的特点,在欧美高等院校,Matlab已成为应用于线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具:在研究单位、工业部门,Matlab也被广泛用于研究和解决各种工程问题。当前在全世界有超过40万工程师和科学家使用它来分析和解决问题[4]。
Matlab作为科学计算软件,主要适用于矩阵运算和信息处理领域的分析设计,它使用方便、输入简捷,运算高效、内容丰富,并且有大量的函数库可提供使用,与Basic,C和Fortran相比,用Matlab编写程序,其问题的提出和解决只需要以数学方式表达和描述,不需要大量繁琐的编程过程。利用Matlab软件并通过计算机仿真光学空间滤波实验过程的新方法,其特点是:既可以随意改变所设计滤波器的参量,又可以对输入图像进行振幅、相位或复合滤波,并且可实现傅里叶变换频谱中相位信息的提取、存储和利用,因而能够完成一般光学实验中往往难以实现的某些操作.并分别给出了网格滤波、低通、高通及相位滤波等仿真实验结果。这种仿真实验给光学滤波器的设计和图象处理带来很大方便,同时也为相关器件的设计提供了一条新的途径[3]。
3.2 MATLAB 软件系统构成
MATLAB 软件主要包括主包、Simulink 和工具箱三大部分组成。下图为MATLAB 界面:
3.3 MATLAB 语言
MATLAB 可以认为是一种解释性语言,可以直接在MATLAB 命令窗口键入命令,也可以在编辑器内编写应用程序,这样MATLAB 软件对命令或程序中各条语句进行翻译,然后在MATLAB 环境下对它进行处理,最后返回运算结果。 MATLAB 语言的基本语句结构为: 变量名列表=表达式
其中等号左边的变量名列表为MATLAB 语句的返回值,等号右边是表达式的定义,它可以是MATLAB 允许的矩阵运算,也可以使函数调用。
等号右边的表达式可以由分号结束,也可以由逗号或回车结束,但他们的含义是不同的,如果用分号结束,则左边的变量结果将不在屏幕上显示出来,否则将把结果全部显示出来。
MATLAB 语言和C 语言有所不同,在调用函数式MATLAB
允许一次返回